您好,登錄后才能下訂單哦!
這篇文章主要講解了“docker compose與docker stack有什么用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“docker compose與docker stack有什么用”吧!
docker在1.12的時候引入了swarm mode,其中有個stack命令,看起來兩者的功能差不多,但還有一點差異的:
docker compose:
compose是fig演變而來,python腳本,需要單獨安裝,compose可以build image,compose需要單獨安裝,compose更多是dev環境使用。
docker stack:
stack被集成進docker原生CLI,go編寫,不支持build image。stack更適合docker cloud環境,用來管理集群。
一個stack是一組services的集合,它可以使你的app運行在指定的環境,一個stack文件是一個YAML文件,YAML文件中定義了一個或者多個services,和docker-compose.yml文件很相似,但是和compose又有一點小擴展。兩者雖然都使用compose.yml文件,但是里面的命令有一丟丟的差別,stack只支持swarm模式下使用,只支持compose V3格式。
stack配置項
image 該image用來部署該service,這是唯一強制的key autodestroy 當service被stop的時候,container應該是否被終止。默認是no,可以有no, on-success, always三種 autoredeploy 當image在updated的時候,service的container是否應該被自動重新部署,默認是false cap_add, cap_drop 增加或者刪除容器的acp能力,可以通過man 7 capabilities來查看具體的能力 cgroup_parent 指定一個可選的父cgroup command 覆蓋image中的command指令 deployment_strategy 容器在node上的分布,默認是emptiest_node,可以是emptiest_node, high_availability, every_node三種。 devices device mapping列表,和docker client使用--device效果一樣 dns 自定義dns server,可以是一個地址,也可以是多個列表地址 dns_search 自定義DNS search domains environment 一個環境變量列表,會被增加到service的環境變量中,這里的定義會覆蓋image中的環境變量定義。 expose 暴露端口,但是不會發布到host上,它只是可以在你的nodes上可以訪問 extra_hosts 增加hostname映射,和docker client的--add-host效果一樣 labels 增加container的元數據。 links 連接到其他service上 net 設置網絡模式,默認只支持bridge和host模式 pid 設置pid模式, ports 暴露端口,格式是HOST:CONTAINER,或者只指定container的端口,這樣會在host上選擇一個隨機的端口 privileged 是否開啟container和docker engine一樣的權限,默認是false restart 當service被stop的時候是否重啟container,默認是no,可以是no, on-failure, always roles 一個docker api的roles列表 security_opt 覆蓋container的默認 labeling scheme sequential_deployment 容器是否被應該逐一啟動和擴展,默認是false tags 標明部署tags,用來選擇nodes,以確定container運行在那個nodes target_num_containers 該service默認運行的container副本數,默認是1 volumes 掛載的路徑,格式是HOST:CONTAINER,或者HOST:CONTAINER:ro,指定訪問模式 volumes_from 從另一個service掛載所有的volumes #和docker run共同的key working_dir: /app entrypoint: /app/entrypoint.sh user: root hostname: foo domainname: foo.com mac_address: 02:42:ac:11:65:43 cpu_shares: 512 cpuset: 0,1 mem_limit: 100000m memswap_limit: 200000m privileged: true read_only: true stdin_open: true tty: true
stack不支持的配置項:build external_links env_file
感謝各位的閱讀,以上就是“docker compose與docker stack有什么用”的內容了,經過本文的學習后,相信大家對docker compose與docker stack有什么用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。