docker-compose命令對比

對比

image vs build

  • image:若是鏡像在本地不存在,Compose 將會嘗試拉去這個鏡像。html

  • build:指定 Dockerfile 所在文件夾的路徑。 Compose 將會利用它自動構建這個鏡像,而後使用這個鏡像。git

links vs external_links

  • links:連接到其它服務中的容器。使用服務名稱(同時做爲別名)或服務名稱:服務別名 (SERVICE:ALIAS) 格式均可以。使用的別名將會自動在服務容器中的 /etc/hosts 裏建立。docker

  • external_links:連接到 docker-compose.yml 外部的容器,甚至 並不是 Compose 管理的容器。ui

ports vs expose

  • ports
    暴露端口信息。使用:宿主:容器 (HOST:CONTAINER)格式或者僅僅指定容器的端口(宿主將會隨機選擇端口)均可以。htm

當使用 HOST:CONTAINER 格式來映射端口時,若是你使用的容器端口小於 60 你可能會獲得錯誤得結果,由於 YAML 將會解析 xx:yy 這種數字格式爲 60 進制。因此建議採用字符串格式。字符串

  • expose
    暴露端口,但不映射到宿主機,只被鏈接的服務訪問。get

僅能夠指定內部端口爲參數it

volumes vs volumes_from

  • volumes
    卷掛載路徑設置。能夠設置宿主機路徑 (HOST:CONTAINER) 或加上訪問模式 (HOST:CONTAINER:ro)。io

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

  • volumes_from
    從另外一個服務或容器掛載它的全部卷。

參考

Compose環境變量說明環境變量已經再也不是用來鏈接服務的推薦方法了,相反,應該使用連接名稱(默認狀況下是連接服務的名稱)做爲主機名稱來鏈接,這能夠查看docker-compose.yml的更多細。Compose使用Docker links來暴露服務的容器給其餘的。每個連接的容器都使用了一組環境變量,這每一組環境變量都是以容器名稱的大寫字母開頭的。要查看服務可用的環境變量,運行docker-compose run SERVICE env

相關文章
相關標籤/搜索