首頁  >  文章  >  開發工具  >  docker-compose指令對比

docker-compose指令對比

藏色散人
藏色散人轉載
2019-09-24 13:41:182577瀏覽

下面由composer教學專欄來介紹關於docker-compose指令的對比,希望對需要的朋友有幫助!

docker-compose指令對比

對比

#image vs build

image:如果鏡像在本地不存在,Compose 將會嘗試拉去這個鏡像。

build:指定 Dockerfile 所在資料夾的路徑。 Compose 將會利用它來自動建造這個鏡像,然後使用這個鏡像。

● links vs external_links

links:連結到其它服務中的容器。使用服務名稱(同時作為別名)或服務名稱:服務別名 (SERVICE:ALIAS) 格式都可以。使用的別名將會自動在服務容器中的 /etc/hosts 中建立。

external_links:連結到 docker-compose.yml 外部的容器,甚至 並非 Compose 管理的容器。

ports vs expose

● ports

暴露埠資訊。使用:宿主:容器 (HOST:CONTAINER)格式或僅指定容器的連接埠(宿主將會隨機選擇連接埠)都可以。

當使用 HOST:CONTAINER 格式來對應連接埠時,如果你使用的容器連接埠小於 60 你可能會得到錯誤得結果,因為 YAML 將會解析 xx:yy 這種數字格式為 60 進位。所以建議採用字串格式。

● expose

暴露端口,但不對應到宿主機,只被連接的服務存取。

僅可指定內部連接埠為參數

volumes vs volumes_from

● volumes

磁碟區掛載路徑設定。可設定宿主機路徑 (HOST:CONTAINER) 或加上存取模式 (HOST:CONTAINER:ro)。

ro就是readonly的意思,只讀模式。

● volumes_from

從另一個服務或容器掛載它的所有磁碟區。

附註:

Compose環境變數說明環境變數已經不再是用來連接服務的建議方法了,相反,應該使用連結名稱(預設是連結服務的名稱)作為主機名稱來連接,這可以查看docker-compose.yml的更多細。 Compose使用Docker links來暴露服務的容器給其他的。每一個連結的容器都使用了一組環境變量,這每一組環境變數都是以容器名稱的大寫字母開頭的。要查看服務可用的環境變量,請執行docker-compose run SERVICE env

以上是docker-compose指令對比的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除