2 回答

TA貢獻1820條經驗 獲得超9個贊
先簡單理解 docker 的使用過程,它分為鏡像構建與容器啟動。
鏡像構建:即創建一個鏡像,它包含安裝運行所需的環境、程序代碼等。這個創建過程就是使用 dockerfile 來完成的。
容器啟動:容器最終運行起來是通過拉取構建好的鏡像,通過一系列運行指令(如端口映射、外部數據掛載、環境變量等)來啟動服務的。針對單個容器,這可以通過 docker run 來運行。
而如果涉及多個容器的運行(如服務編排)就可以通過 docker-compose 來實現,它可以輕松的將多個容器作為 service 來運行(當然也可僅運行其中的某個),并且提供了 scale (服務擴容) 的功能。
簡單總結:
dockerfile: 構建鏡像;
docker run: 啟動容器;
docker-compose: 啟動服務;

TA貢獻1719條經驗 獲得超6個贊
我所理解的docker-compose是編排容器的。例如,你有一個php鏡像,一個mysql鏡像,一個nginx鏡像。如果沒有docker-compose,那么每次啟動的時候,你需要敲各個容器的啟動參數,環境變量,容器命名,指定不同容器的鏈接參數等等一系列的操作,相當繁瑣。而用了docker-composer之后,你就可以把這些命令一次性寫在docker-composer.yml文件中,以后每次啟動這一整個環境(含3個容器)的時候,你只要敲一個docker-composer up命令就ok了。
而dockerfile的作用是從無到有的構建鏡像。
兩個完全不是一碼事
- 2 回答
- 0 關注
- 2538 瀏覽
添加回答
舉報