在構建碼頭圖像時,如果圖像使用docker-compose build
vs docker build
構建,則圖像ID不同。 env具有不同的主機名。由docker-compose構建與docker構建生成的docker鏡像有什麼不同?
還有什麼不同?爲什麼圖像不同?
在構建碼頭圖像時,如果圖像使用docker-compose build
vs docker build
構建,則圖像ID不同。 env具有不同的主機名。由docker-compose構建與docker構建生成的docker鏡像有什麼不同?
還有什麼不同?爲什麼圖像不同?
就圖像內容而言,在docker-compose build
與「手動」docker build
之間構建的實際圖像之間沒有區別。
區別僅在於構建結果的命名/標記,其中docker-compose
會自動爲您執行。 除此之外,docker-compose
的構建在幕後並沒有什麼不同,只是一般的docker build
的包裝。
但我確實看到了生成圖像之間的差異。作爲我的dockerfile的一部分,我做了一個「npm install」來下載所有的依賴關係。 使用「docker build」構建的圖像全部下載了「npm_modules」,而使用「docker-compose up」生成的圖像具有空的「npm_modules」文件夾。 – SudheerKovalam
工作方式肯定有不同。在我的項目中,docker build可以工作,但是docker-compose build會給出一些錯誤。關鍵是如果一個人工作,另一個人不需要工作。 – GiriB
@GiriB將很高興知道錯誤:)在這種情況下,很有可能你的'docker-compose.yml'有什麼問題。 –
除命名區別外,如果構建的參數不同,則可能會在結果圖像中產生差異:docker-compose.yml的build:部分和docker build命令的命令行參數。 例如,--build-args可以不同。
我相信除了容器名稱以外,沒有其他區別,'docker-compose'會自動生成,但是您可以指定何時使用'docker-build'。 –
這仍然是一個公開的問題:https://github.com/docker/compose/issues/883 –