Docker Swarm如何部署
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍了Docker Swarm如何部署,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。软件信息软件版本OSUbuntu 16
千家信息网最后更新 2025年01月23日Docker Swarm如何部署
这篇文章主要介绍了Docker Swarm如何部署,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
软件信息
软件 | 版本 |
OS | Ubuntu 16.04.3 LTS |
Docker | 18.03.0-ce |
主机信息
ubuntu16.04-1 | 172.31.68.241 | swarm manager |
ubuntu16.04-2 | 172.31.68.242 | swarm node |
ubuntu16.04-3 | 172.31.68.243 | swarm node |
swarm初始化
初始化manager
docker swarm init --advertise-addr 172.31.68.241
初始化worker
docker swarm join --token SWMTKN-1-1mn8x6itne5ldwad5bmtgtdkemoim3o53dc7u2b5y5zj1lwj4l-etyttp60hpns5i4jifym7y3hd 172.31.68.241:2377
ps:注意要在两台worker上都要执行
查看node状态
docker node ls
禁止manager的worker功能
docker node update --availability drain ubuntu16.04-1
ps:这样就不会在manager上分配执行任务了
给worker增加label
docker node update --label-add app ubuntu16.04-2docker node update --label-add app ubuntu16.04-3
查看一个node的详细信息
docker node inspect ubuntu16.04-3
ps:要查看某一项具体的信息,可以使用如下命令模式
docker node inspect ubuntu16.04-3 --format "{{ .Status.Addr }}"
创建service
创建service,一个副本
docker service create --replicas 1 -p 4000:80 --name hello 172.31.68.241/library/friendlyhello
查看service
docker service lsdocker service ps hello
ps:通过service ps可以看到真实的task是运行在ubuntu16.04-2的,容器的名称叫hello.1。
查看其它节点任务
docker container ls
ps:可以看到在ubuntu16.04-2上,容器的真实名称是:service名称+任务id+一串随机码。而在ubuntu16.04-3上并无相关task运行,因为replicas为1
查看service的详细信息
docker service inspect hello
[ { "ID": "woxqqkoqr6viu8flojtuuht97", "Version": { "Index": 25 }, "CreatedAt": "2018-08-17T07:20:13.503484813Z", "UpdatedAt": "2018-08-17T07:20:13.515429684Z", "Spec": { "Name": "hello", "Labels": {}, "TaskTemplate": { "ContainerSpec": { "Image": "172.31.68.241/library/friendlyhello:latest@sha256:05def471119a0937508cdcb2445cb55375d15257b0a117e954bcd3527c36eac2", "StopGracePeriod": 10000000000, "DNSConfig": {}, "Isolation": "default" }, "Resources": { "Limits": {}, "Reservations": {} }, "RestartPolicy": { "Condition": "any", "Delay": 5000000000, "MaxAttempts": 0 }, "Placement": { "Platforms": [ { "Architecture": "amd64", "OS": "linux" } ] }, "ForceUpdate": 0, "Runtime": "container" }, "Mode": { "Replicated": { "Replicas": 1 } }, "UpdateConfig": { "Parallelism": 1, "FailureAction": "pause", "Monitor": 5000000000, "MaxFailureRatio": 0, "Order": "stop-first" }, "RollbackConfig": { "Parallelism": 1, "FailureAction": "pause", "Monitor": 5000000000, "MaxFailureRatio": 0, "Order": "stop-first" }, "EndpointSpec": { "Mode": "vip", "Ports": [ { "Protocol": "tcp", "TargetPort": 80, "PublishedPort": 4000, "PublishMode": "ingress" } ] } }, "Endpoint": { "Spec": { "Mode": "vip", "Ports": [ { "Protocol": "tcp", "TargetPort": 80, "PublishedPort": 4000, "PublishMode": "ingress" } ] }, "Ports": [ { "Protocol": "tcp", "TargetPort": 80, "PublishedPort": 4000, "PublishMode": "ingress" } ], "VirtualIPs": [ { "NetworkID": "zhamhv5cl7zhr7c7g6n1so6kv", "Addr": "10.255.0.5/16" } ] } }]
访问service
curl http://172.31.68.241:4000 -Icurl http://172.31.68.242:4000 -Icurl http://172.31.68.243:4000 -I
ps:随便访问swarm mode集群内的任何一个节点,都可以正常访问该服务。
扩展service
docker service scale hello=2
查看扩展厚的结果
docker service ps hello
swarm config
创建config
docker config create hello-config ./hello-config
查看config
docker config ls
查看详细信息
docker config inspect hello-config
在service中使用config
docker service create --replicas 1 --name config-test --config source=hello-config,target=/mnt/hello-config 172.31.68.241/library/friendlyhello
查看task的运行worker
docker service ps config-test
进入容器查看配置
docker container lsdocker container exec -it b06c415e7cac /bin/bash
ps:如果在启动service的时候不指定config的source/target,则默认config在容器内的挂载目录在/hello-config
查看config的本地目录信息
config一般在容器所在宿主机的/var/lib/docker/containers/container_id/mounts/secrets目录下面,是一个随机字符串文件
swarm secret
config和secret的差别就是一个是本地文件,一个是在tmpfs中存储的
创建secret
#查看secretr文件cat hello-config-secret#创建secretdocker secret create hello-secret ./hello-config-secret#查看secretdocker secret ls
在service中使用secret
启动带secret的service
#启动服务docker service create --replicas 1 --label app --secret hello-secret --name secret-test 172.31.68.241/library/friendlyhello#查看task在哪台机器运行docker service ps secret-test
查看容器中secret信息
docker container exec -it 47c8f6f74ae3 /bin/bash
ps:在使用secret的时候,secret配置一般在/run/secrets/目录下面,名称就是secret名称
感谢你能够认真阅读完这篇文章,希望小编分享的"Docker Swarm如何部署"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
信息
容器
名称
目录
篇文章
运行
任务
文件
就是
时候
节点
软件
服务
配置
主机
价值
兴趣
副本
功能
同时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
dbd数据库
用友服务器管理工具下载
浙江聚蜂网络技术有限公司
惠州教育软件开发定制
淄博瓷砖软件开发价格
新华互联网科技学校是正规学校吗
广州鹅鹅鹅互联网科技公司
河南涛发网络技术有限公司
中专计算机网络技术专业升大专
进行地图分析的软件开发
软件开发培训机构哪好
怀旧服如何退出服务器
python的odb数据库
网络安全专题学习体会
哪些是非结构化数据库
政务网络安全考试机构
服务器放湖底
dota2 提示服务器正在升级
南宁创科网络技术有限公司
网络安全赛是什么东西
encod数据库怎么使用
苹果id登陆提示连接服务器失败
篡改网络安全名词解释
新品浪潮服务器服务商
室内设计app软件开发
政务网络安全考试机构
商业秘密网络安全保护架构
三河市鑫众网络技术有限公司
华为的网络安全维护是什么
吉林省软件开发系统品牌