亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

dockerfile 與 docker-compose的區別是什么?

dockerfile 與 docker-compose的區別是什么?

POPMUISE 2018-09-06 08:05:17
docker-compose是編排鏡像, 那么docker-compose是不是可以做Dockerfile的能做的事?
查看完整描述

2 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

先簡單理解 docker 的使用過程,它分為鏡像構建與容器啟動。

鏡像構建:即創建一個鏡像,它包含安裝運行所需的環境、程序代碼等。這個創建過程就是使用 dockerfile 來完成的。

容器啟動:容器最終運行起來是通過拉取構建好的鏡像,通過一系列運行指令(如端口映射、外部數據掛載、環境變量等)來啟動服務的。針對單個容器,這可以通過 docker run 來運行。

而如果涉及多個容器的運行(如服務編排)就可以通過 docker-compose 來實現,它可以輕松的將多個容器作為 service 來運行(當然也可僅運行其中的某個),并且提供了 scale (服務擴容) 的功能。

簡單總結:

  1. dockerfile: 構建鏡像;

  2. docker run: 啟動容器;

  3. docker-compose: 啟動服務;


查看完整回答
反對 回復 2018-09-23
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

我所理解的docker-compose是編排容器的。例如,你有一個php鏡像,一個mysql鏡像,一個nginx鏡像。如果沒有docker-compose,那么每次啟動的時候,你需要敲各個容器的啟動參數,環境變量,容器命名,指定不同容器的鏈接參數等等一系列的操作,相當繁瑣。而用了docker-composer之后,你就可以把這些命令一次性寫在docker-composer.yml文件中,以后每次啟動這一整個環境(含3個容器)的時候,你只要敲一個docker-composer up命令就ok了。

而dockerfile的作用是從無到有的構建鏡像。

兩個完全不是一碼事


查看完整回答
反對 回復 2018-09-23
  • 2 回答
  • 0 關注
  • 2538 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號