可以演示地址(跨越快)
https://labs.play-with-docker.com/
#docker swarm 命令
docker swarm --help
docker swarm init --help
docker swarm init --advertise-addr=[当前服务ip地址]
#创建swarm
docker swarm init --advertise-addr=10.28.149.191
#会提示添加worker和添加manager的命令
#添加worker到swarm
docker swarm join --token SWMTKN-1-29wkqtbcotzq3q4k078gs7jnudormpj34sx9y3wl8f7yyya605-ez10ejv9bbdaue1djaavw63ud 10.28.149.191:2377
#添加manager到swarm
docker swarm join-token manager
#swarm节点查看(在manager服务器上面运行)
docker node --help
docker node ls
#docker service 命令
docker service --help
#创建service
#相等于docker run ,只不过run运行的在本地,service不一定在哪一个服务器上
docker service create --help
#docker service create [OPTIONS] IMAGE [COMMAND] [ARG...]
docker service create --name [service名称]
#service 查看
docker service ls
docker service ps [service名称]
#service扩展
docker service scale --help
#docker service scale SERVICE=REPLICAS [SERVICE=REPLICAS...]
#service 删除
docker service rm [service名称]
#network 网络创建
#overlay 类型网络可以跨服务器
docker network create -d overlay demo
# 查询本地ip
iptables -nL -t mangle
# 本地网络转发规则
iptables -nL -t nat
# 本地ip
ip a
# 查询所有的bridge类型网络
brctl show
# 查询docker[docker_gwbridge] 网络详情
docker network inspect docker_gwbridge
# 查询本机docker 网络
ls /var/run/docker/netns/
#进入到ingress_sbox网络
nsenter --net=/var/run/docker/netns/ingress_sbox
ip a #进行验证
exit #退出网络
#查询docker容器ip
docker exec [容器id] ip a
#docker stack 命令
docker stack deploy [stack名称] --compose-file=docker-compose.yml # --compose-file 可以简化为 -c
#查询所有的stack
docker stack ls
#查询指定名称stack 的进程状态
docker stack ps [stack名称]
#查询指定stack下面的service信息
docker stack services [stack名称]
#删除指定的stack
docker stack rm [stack名称]
#docker secret 命令
# docker 秘密创建 docker secret create --help
# 把密码写入文件
echo admin123 > password
# 创建凭证,可以从一个文件,也可以通过管道创建
docker secret create my-pw [password文件名称]
echo admin1234 | docker secret create my-pw1 -
#删除文件
rm -rf password
# 查询列表
docker secret ls
# 查询详情
docker secret inspect i0gzg27btwuhktjkyg75sckcu
# 删除
docker secret rm i0gzg27btwuhktjkyg75sckcu
#使用案例
docker service create --name my-service-db --secret=my-pw1 -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/my-pw1 mysql
# --publish= 端口映射 -p