docker swarm部署集群

docker swarm部署集群

1、 选择一台机器作为主节点

2、 运行命令

docker swarm init --advertise-addr=主节点ip

1711799536466.jpg

3、 复制初始化主节点token

4、 在其他子节点机器执行命令

5、 docker swarm join –token param (param为第三步复制token)

图片.png

6、 docker node ls 查看集群列表

图片.png

7、 docker swarm leave -f  子节点退出集群

图片.png

8、 退出集群后的集群列表

图片.png

9、 创建Docker 服务

docker service create –name demo busybox sh -c “while true;do sleep 3600;done”

创建一个服务,随机运行在集群的某个节点

docker service create:

这部分指示 Docker 命令行工具创建一个新的 Docker 服务。

--name demo:

这个选项指定了服务的名称为 "demo"。你可以使用这个名称来管理或引用这个服务。

busybox:

这是使用的 Docker 镜像的名称。在这个例子中,使用了 "busybox" 镜像。BusyBox 是一个精简的 Linux 发行版,它将许多基本的 Unix 工具打包在一个单一的可执行文件中。

sh -c "while true; do sleep 3600; done":

这是在容器内执行的命令。它启动一个无限循环,其中 while true 语句创建一个始终为真的循环,然后 sleep 3600 让容器每隔 3600 秒(1 小时)休眠一次。这样,容器将永远在后台运行,不会自行退出

10、docker service ls 查看节点docker服务运行列表

图片.png

       表示当前只有一个docker服务

11、docker ps 查看节点docker运行的容器列表

图片.png

       表示当前节点没有运行docker容器

图片.png

12、docker service scale demo=5 在集群中给demo服务扩容

图片.png

13、docker service ls 扩容后再次查看节点docker服务运行列表

图片.png

当前集群demo服务存在5个服务,docker自动分配到节点运行,服务数量如果大于机器数量,有些机器可能会运行多个服务,如果其中某个服务挂掉,docker会自动再起一个服务运行,docker始终保证运行服务数量为5,除非所有机全部挂掉

14、docker stack deploy -c docker-compose.yml stack-demo

stack方式使用docker-compose.yml部署集群

这行命令是用来部署一个 Docker 栈(Docker Stack)的

docker stack deploy: 这是 Docker 命令行工具用来部署一个 Docker 栈的命令。Docker 栈是一个将多个服务组合在一起进行管理的工具,通常用来在集群中部署分布式应用程序。

-c docker-compose.yml: 这个选项指定了 Docker Compose 文件的路径,该文件描述了要部署的服务及其配置。在这个例子中,假设 Docker Compose 文件的名称为 docker-compose.yml,它位于当前工作目录。

stack-demo: 这是要创建或更新的 Docker 栈的名称。通过指定栈的名称,可以对其进行唯一标识和管理

图片.png

Docker-compose.yml

图片.png

图片.png

Visualizer Portainer可视化监控工具

15、docker stack services stack-demo 查看这个

       服务还没有创建完成

图片.png

服务已经创建完成

图片.png

16、通过任意节点访问可视化工具

图片.png

17、docker stack rm stack-demo 退出容器

图片.png

 


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年3月    »
123
45678910
11121314151617
18192021222324
25262728293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接