跳到主要内容

命令

2024年07月22日
柏拉文
越努力,越幸运

一、docker info


docker info 可以查看我们的 docker engine 有没有激活 swarm 模式,默认是没有的。我们会看到

Swarm: inactive

激活 swarm, 有两个方法:

  1. 初始化一个 swarm 集群,自己成为 manager

  2. 加入一个已经存在的 swarm 集群

二、docker swarm init


docker swarm init 初始化一个 swarm 集群,自己成为 manager

docker swarm init 背后发生了什么?

  1. 主要是 PKI 和安全相关的自动化。

    1. 创建 swarm 集群的根证书

    2. manager 节点的证书

    3. 其他节点加入集群需要的 tokens

  2. 创建 Raft 数据库用于存储证书,配置,密码等数据

三、docker node ls


docker node ls 查看当前 swarm 集群下所有的节点。

四、docker swarm join --token xxx IP


docker swarm join --token xxx IP 其他节点加入到当前集群的方式

docker swarm join --token [Token] <manager-ip>:<manager-port>

五、docker swarm leave


docker swarm leave 当前节点退出集群

5.1 docker swarm leave --force

docker swarm leave --force 强制当前节点退出集群。

六、docker service


6.1 docker service ls

docker service ls

6.2 docker service ps [容器ID/名称]

docker service ps [容器ID/名称]

docker service ls 

docker service ps [基于 docker service ls 获得的容器服务ID 或名称]

6.4 docker service create [镜像:Tag]

docker service create [镜像:Tag]

docker service create nginx:latest

docker service ls

docker service ps [基于 docker service ls 获得的容器服务ID 或名称]

6.5 docker service update [容器ID/名称] --replicas xx

docker service update [容器ID/名称] --replicas xx 横向扩展容器

docker service ls 

docker service ps [基于 docker service ls 获得的容器服务ID 或名称]

docker service update [基于 docker service ls 获得的容器服务ID 或名称] --replicas 3

6.6 docker service rm [容器ID/名称]

docker service rm [容器ID/名称]

docker service ls 

docker service ps [基于 docker service ls 获得的容器服务ID 或名称]

docker service rm [基于 docker service ls 获得的容器服务ID 或名称]

6.7 docker service create --name xxx -p zzzz:uu --replicas yy [镜像:Tag]

docker service create --name xxx -p zzzz:uu --replicas yy [镜像:Tag]

6.8 docker service scale [容器服务ID/名称]=xx

docker service scale [容器服务ID/名称]=xx 水平扩展容器服务

docker service ls 

docker service ps [基于 docker service ls 获得的容器服务ID 或名称]

docker service scale [基于 docker service ls 获得的容器服务ID 或名称]=3

6.9 docker service create --name xxx -p zzzz:uu --replicas yy --restart-condition [重启策略] [镜像:Tag]

docker service create --name xxx -p zzzz:uu --replicas yy --restart-condition [重启策略] [镜像:Tag] 启动服务,并且自定义重启策略。可以通过 --restart-condition 参数设置重启策略,例如:

  • none:不重启容器。

  • on-failure:仅在容器失败退出时重启。

  • any:无论容器因何原因退出都重启。

docker service create --name my_service --replicas 3 --restart-condition on-failure my_image

七、docker service logs


docker service logs

7.1 docker service logs [容器服务ID/名称]

7.2 docker service logs -f [容器服务ID/名称]

docker service logs -f [容器服务ID/名称] 用于实时查看日志