【每天学一点】docker-compose中的deploy

由于要进行服务的微服务化部署,由于硬件限制,我们目前采用的是Swarm作为容器编排的工具。对应于k8s中的pod,swarm中有dab这种概念,即分布式应用包,目前还没有去探索这个的使用,由于还是实验性的特性,目前还不涉及,这里主要还是通过docker-compose.yaml的方式将多个微服务统一运维。

使用的是 docker stack deploy <args> 命令进行的部署。

官网上该命令有如下的参数:

由于使用的是docker-compose文件,这里直接通过 compose-file 进行部署即可,例如官网的例子

甚至可以通过叠加compose文件,来修改前一个文件中的配置

那么再来看看其他的可选命令:
namespace 和 kubeconfig 是k8s的专属命令,这里就不做过多解释,直接看swarm相关的。

目前觉得 prune 这个参数比较关键,可以把一些down掉的service进行自动清理。

如何通过 docker-compose.yml 配置文件进行集群化部署呢?

首先需要知道的,docker-compose文件中哪个部分主要对应了swarm中的运维需求,答案就是 deploy 参数下的各种配置。

上图中的配置一个个来看;

首先来看,最下面标注的 docker stack deploy不支持的参数 ,具体可以参考下图:

上面的参数,就算yaml中包含,在stack的时候也会被忽略,当然也可以为了 docker-compose up 留着这些配置。

这个命令是在 3.2 版本中开始引入的,主要是用于指定服务发现方法,以方便外部的客户端连接到swarm

主要包含两个:

标签是用于service之上,并非附加在service中的容器上。

如果像将其附在所有容器上,则在 deploy 之外定义labels.

用于指定是以 副本模式(默认) 启动还是 全局模式 ,如果是 全局模式 ,类似于开始于k8s中的DaemonSet,会在每个节点上启动且只启动一个服务。

这个参数在运维的时候尤为关键 ,主要用于指定 容忍 和 偏好 ,这个在k8s中同样有对应的概念

其中, 容忍 包含了:

至于 偏好 ,只有一个参数,就是 spread ,其参数值为节点的属性,即容忍表中的内容。

这个是3.8中添加的配置。

字面意思,就是控制每个节点上最多的副本数

用于指定副本数,只有mode为副本模式的时候生效。

这个参数在运维的时候尤为关键 ,主要用于限制服务的资源。

limit用于限制最大的资源使用数量,reservation为最低的资源占用量。

重启策略

3.7版本加入

用于指定回滚的策略

用于指定升级的策略

以上。



  • 濡傛灉鎯冲Linux,搴旇鎬庝箞瀛?
    绛旓細瀛︿範Linux姝ラ锛1銆佸厛浜嗚В浜嗚В鍩虹鍚э紝鎵句竴鏈杽涓鐐鐨勶紝娴呬竴鐐圭殑涔︼紝浜嗚В涓涓嬩粈涔堟槸linux銆傛湁涓熀鏈簡瑙e嵆鍙備笉寤鸿椹笂鐪嬨婇笩鍝ョ殑Linux绉佹埧鑿溿嬶紝杩欐湰涔﹀緢涓嶉敊锛屽鏋滀綘浜嗚Вlinux鍩虹涔嬪悗鍐嶇湅锛屽浣犲彲浠ヨ鏄笉鍙楃泭鍖祬閮戒笉琛屻傛病鍩虹鐪嬨婇笩鍝ョ殑Linux绉佹埧鑿溿嬫瘮杈冪棝鑻︼紝鍐呭寰堝銆2銆佷簡瑙d箣鍚庯紝鍦ㄨ嚜宸...
  • java璇ユ庝箞鑷?
    绛旓細鎴戞渶杩戝湪鑷java,鑷繁涔熸湁涓浜c鐨勫熀纭,鐜板湪鎯宠鏁欏悇浣嶇紪绋嬮珮鎵,浠瀛︿範Java璇█鍒扮湡姝g殑鑳藉鍒╃敤java杩涜web寮鍙戜笌杞欢寮鍙,鍦ㄨ繖涓棿鐨勫涔犳楠ゆ湁鍝簺?杩樻湁鑳戒笉... 鎴戞渶杩戝湪鑷java,鑷繁涔熸湁涓浜沜鐨勫熀纭,鐜板湪鎯宠鏁欏悇浣嶇紪绋嬮珮鎵,浠庡涔燡ava璇█鍒扮湡姝g殑鑳藉鍒╃敤java杩涜web寮鍙戜笌杞欢寮鍙,鍦ㄨ繖涓棿鐨勫涔犳楠ゆ湁鍝簺?
  • 杞欢娴嬭瘯閮借瀛︿粈涔堝唴瀹?
    绛旓細杞欢娴嬭瘯鍩虹鍏嶈垂涓嬭浇 閾炬帴:https://pan.baidu.com/s/1hk72ABwcQkFC_9v3py0hlw 鎻愬彇鐮:3gd9 銆婅蒋浠舵祴璇曞熀纭锛堣嫳鏂囩増锛夈嬭瀺鍏ヤ簡鏈鏂扮殑娴嬭瘯鎶鏈紝鍖呮嫭鐜颁唬杞欢鏂规硶锛堝闈㈠悜瀵硅薄锛夈乄eb搴旂敤绋嬪簭闃冲祵鍏ュ紡杞欢銆傚彟澶栵紝銆婅蒋浠舵祴璇曞熀纭锛堣嫳鏂囩増锛夈嬪寘鍚簡澶ч噺鐨勫疄渚嬨
  • 鏈変粈涔堟柟娉曟洿蹇湴瀛︿範缂栫▼?鍒濆鍝濂?
    绛旓細7.涓婄綉瀛︾紪绋 鍦ㄧ綉涓婂彲浠ュ鍒板緢澶氫笉鍚岀殑缂栫▼鎬濇兂銆佹柟娉曘佺粡楠屽拰鎶宸э紝鏈夊ぇ閲忕殑宸ュ叿鍜屼綔鍝佸強鐩稿叧鐨勮緟瀵兼潗鏂欎緵涓嬭浇銆備緥濡傜綉绔欌滅紪绋嬭鍫傗濓紙http://best.yeah.net/锛変富瑕佷互 VB 鍜 Delph锛涙暀瀛﹀拰浜ゆ祦涓轰富锛屾彁渚涘ぇ閲忓疄鐢ㄦ妧宸э紱缃戠珯鈥滅幇鍦ㄦ椂缂栫▼瀛﹀洯鈥濓紙http://pshool.yeah.net/锛夋槸涓撻棬浠嬬粛C銆乂C銆乂B...
  • java鎬庝箞瀛
    绛旓細Java鐭ヨ瘑鐐逛富瑕佹湁浠ヤ笅杩欎簺銆1銆丣ava褰掔被鎬荤粨 寮鍙戜笉鍚岀被鍒殑搴旂敤浼氱敤鍒颁笉鍚岀殑鐭ヨ瘑鐐癸紝浠eb鏈嶅姟涓轰緥锛屾荤粨濡備笅琛 鍊熷姪浜嶪T鎶鏈彂灞曠粰浜堟垜浠殑渚垮埄锛屼娇寰楁垜浠洿鑳芥妸鏈夐檺鐨勭簿鍔涢泦涓湪涓氬姟寮鍙戜笂锛岄氳繃瀹為檯椤圭洰鍘嗙粌锛岀Н绱粡楠屻1)寮鍙戣繍琛岀幆澧冨睘浜庡畨瑁呴厤缃柟闈㈢殑鍩虹宸ヤ綔锛屽熷姪浜Docker鑷姩鍖栦竴閿儴缃诧紝绉掑惎...
  • 闆跺熀纭瀛ava 涓鑸瀛﹀涔?
    绛旓細0鍩虹瀛︿範java鏈変袱绉嶅涔犵殑鏂瑰紡锛氫竴鏄嚜瀛︼紝鑷Java鑷冲皯闇瑕佷竴骞翠互涓婄殑鏃堕棿鎵嶈兘杈惧埌鎵惧伐浣滅殑姘村钩銆傚洜涓篔ava鑷鐩稿姣旇緝闅撅紝姝g‘鐨勫涔犺祫鏂欑殑鑾峰彇銆佸涔犱腑閬囧埌鐨勯棶棰樹互鍙婂浣曞悎鐞嗚繍鐢ㄥ鍒扮殑鐭ヨ瘑绛夐兘鏄嚜瀛︿腑甯镐細閬囧埌鐨勯棶棰橈紝鏈涓昏鐨勮繕鏄綔涓哄垵瀛﹁呮病鏈変汉鎸囧甯︾潃鍏ラ棬锛岃屼笖涔熸病鏈夎冻澶熺殑椤圭洰缁忛獙锛屾墍浠ユ壘宸ヤ綔...
  • 杞欢娴嬭瘯闇瑕瀛︿範浜涗粈涔堟妧鑳?
    绛旓細杩欐槸娴嬭瘯浜哄憳鎶鑳藉崌绾ф渶濂界殑鏂瑰紡涔嬩竴锛屾祴璇曚汉鍛樺彲浠ュ埄鐢ㄤ粬鍋氶潪甯稿鐨勪簨鎯呫8銆丩inux绯荤粺 Linux绯荤粺锛屾祴璇曚汉鍛樺埄鐢ㄥ畠鏈澶氱殑鏄湅鏃ュ織锛屾洿濂藉湴涓哄紑鍙戝畾浣峛ug锛岃繖涔熸槸鎻愬崌鎶鑳戒箣涓銆9銆佸墠绔瑷 鍓嶇璇█锛屽彲浠ヨ鑷繁鏇村ソ鐨勫垽鏂璪ug鏄墠绔繕鏄悗绔犳垚鐨勶紝澶瀛︿竴鐐鎶鑳藉浜庢祴璇曚汉鍛橀潪甯稿ソ鐨勩
  • 瀛﹀ソlinux 鏄笉鏄緢濂芥壘宸ヤ綔
    绛旓細娑夊強鍒扮殑Linux骞冲彴涓婄殑杩愮淮宸ュ叿鏈夛細Linux绯荤粺,Linux鍩虹鍛戒护,Nginx,Apache,MySQL,PHP,Tomcat,Lvs,Keepalived,SSH,Ansible,Rsync,NFS,Inotify,Sersync,Drbd,PPTP,OpenVPN,NTP,Kickstart/Cobbler,KVM,OpenStack,Docker,锛孠8S锛孧ongodb,Redis,Memcached,Iptables,SVN,GIT,Jenkins,缃戠粶鍩虹,Shell/Python寮鍙戝熀纭绛...
  • 濡備綍璁 Python 鍍 Julia 涓鏍峰揩鍦拌繍琛
    绛旓細涓婅堪浠g爜涓 C 浠g爜闈炲父鐩镐技銆侰ython 搴旇鑳藉緢濂藉湴澶勭悊瀹冦傞櫎浜嗕娇鐢 Cython 鍜岄潤鎬佺被鍨嬩箣澶,璁╂垜浠娇鐢 Numpy 鏁扮粍浠f浛鍒楄〃銆傚湪鏁扮粍澶у皬杈冨ぇ鏃,姣斿鏁板崈涓垨鏇村鍏冪礌,Numpy 鏁扮粍纭疄姣 Python 鍒楄〃鏇村揩銆傚畨瑁匩umpy 鍙兘浼氳姳涓浜涙椂闂,鎺ㄨ崘浣跨敤 Anaconda 鎴栦竴涓凡瀹夎浜 Python 绉戝宸ュ叿缁勫悎鐨 Docker 闀滃儚銆傚湪浣跨敤 ...
  • 鏂版墜鏄厛瀛璇█濂,杩樻槸鍏堝Python濂藉憿?
    绛旓細鐜板湪锛屽叏涓栫晫宸笉澶氭湁600澶氱缂栫▼璇█锛屼絾娴佽鐨勭紪绋嬭瑷涔熷氨閭d箞20鏉ョ銆傚鏋滀綘鍚杩嘥IOBE鎺掕姒滐紝浣犲氨鑳界煡閬撶紪绋嬭瑷鐨勫ぇ鑷存祦琛岀▼搴︺傝繖鏄渶杩10骞存渶甯哥敤鐨10绉嶇紪绋嬭瑷鐨勫彉鍖栧浘锛氭荤殑鏉ヨ锛岃繖鍑犵缂栫▼璇█鍚勬湁鍗冪銆C璇█鏄彲浠ョ敤鏉ョ紪鍐欐搷浣滅郴缁熺殑璐磋繎纭欢鐨勮瑷锛屾墍浠ワ紝C璇█閫傚悎寮鍙戦偅浜涜拷姹傝繍琛...
  • 扩展阅读:每天五分钟玩转docker ... docker官方网站 ... k8s为啥不建议用docker了 ... 爱快docker镜像库url ... docker hub官网 ... 为什么docker被淘汰了 ... 国产docker管理工具 ... 自学docker入门教程 ... docker实战开发 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网