安裝docker 后初始化 swarm
初始化 swarm 指定網(wǎng)卡
docker swarm init --advertise-addr em2
或
docker swarm init --advertise-addr 10.0.254.100
或
docker swarm init
或
docker swarm init --default-addr-pool 10.8.0.0/16
刪除 swarm
docker swarm leave --force
如果刪除失敗叁怪。可以清空 /var/lib/docker/swarm/
查看 swarm token
docker swarm join-token worker
如果有個node 每個node上都執(zhí)行
docker swarm join --token .....
使用swarm 查看信息
docke info #docker info來查看當(dāng)前swarm集群的狀態(tài)
docker node ls #運行docker node ls來查看節(jié)點信息
創(chuàng)建服務(wù)
創(chuàng)建服務(wù)后節(jié)點ip+port都可以訪問
docker service create --name nginx --replicas 3 --publish 8080:80 nginx:1.15
指定在固定node上運行
https://docs.docker.com/engine/reference/commandline/service_create/
Specify service constraints (--constraint)
docker service create --name nginx --replicas 2 --constraint node.hostname==vms4 nginx:1.15
服務(wù)升級(更新)
服務(wù)客扎,配置10s的更新間隔
docker service create --replicas 2 --name nginx --update-delay 10s nginx:1.15
查看服務(wù)狀態(tài)
docker service inspect --pretty nginx
查看服務(wù)在那個節(jié)點上運行
docker service ps nginx
更新鏡像
docker service update --image nginx:1.15+ nginx
查看服務(wù)
docker service ls #查看當(dāng)前服務(wù)
查看刪除服務(wù)
docker service rm nginx #刪除服務(wù) .根據(jù)服務(wù)名刪除
在swarm集群上部署一個服務(wù)
Node Label 管理
[vms1]節(jié)點操作
[升級]
docker node promote vms1
[降級]
docker node demote vms1
添加標(biāo)簽
key 為 yxh value nginx
docker node update --label-add yxh=nginx node1
刪除標(biāo)簽
docker node update --label-rm yxh node1
查看node上標(biāo)簽信息
docker node inspect vms0
Docker機密
- 創(chuàng)建 access_key secret_key
echo "AKIAIOSFODNN7EXAMPLE" | docker secret create access_key -
echo "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" | docker secret create secret_key -
- 使用 secrets 直接使用
·····
secrets:
- secret_key
- access_key
·····