Docker+swarm安装配置

  • Docker安装
  • Swarm安装及使用
  • 1 初始化管理节点
  • 2 查看swarm集群信息
  • 3 列出 Swarm 中的节点
  • 3获取添加新的工作节点和管理节点到 Swarm 的命令
  • 3创建并部署一个service
  • 4当前节点退出swarm


Docker安装

本文是在Windows10的环境下安装的Docker。主要按照菜鸟教程的步骤进行。

Docker Desktop 是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。

Docker Desktop 官方下载地址: https://hub.docker.com/editions/community/docker-ce-desktop-windows

docker swarm管理界面 docker swarm ui_初始化


点击进行下载,下载完成后正常安装即可。

docker swarm管理界面 docker swarm ui_Docker_02


等待安装结束。安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标,这表示 Docker 正在运行。

在这边遇到了WSL2所导致的问题,需要下载相应的内核更新包。

下载网站地址:https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4—download-the-linux-kernel-update-package 在步骤四处,点击链接进行下载安装即可解决,然后重启就能正常使用。

安装之后,可以打开 PowerShell 并运行以下命令检测是否运行成功:

docker run hello-world

正常情况如下图:

docker swarm管理界面 docker swarm ui_docker_03


至此Docker安装完成。

Swarm安装及使用

1 初始化管理节点

这边参考网上的教程输入后会提示报错,说该IP有问题

#这里的IP为机器的ip, 此主机为master
docker swarm init --advertise-addr 192.168.88.129

报错的提示如下:

docker swarm管理界面 docker swarm ui_docker swarm管理界面_04


输入以下代码后,成功执行:

docker swarm init

docker swarm管理界面 docker swarm ui_docker swarm管理界面_05


此处,token需要保存

docker swarm join --token SWMTKN-1-606txf8hwr3kky8on0exa9ay7m0blt2di4fxiki3bbl3afhbbb-4h4nrlne0phfw3c5tfluj4l39 192.168.65.3:2377

这样自身就成为了swarm的manager节点。

2 查看swarm集群信息

执行列出的代码如下:

//查看swarm集群信息
docker info

docker swarm管理界面 docker swarm ui_初始化_06

3 列出 Swarm 中的节点

执行列出的代码如下:

docker node ls

可以看到当前swarm中的节点。

docker swarm管理界面 docker swarm ui_Docker_07

3获取添加新的工作节点和管理节点到 Swarm 的命令

代码如下:

#添加管理节点
docker swarm join-token manager
#添加工作节点
docker swarm join-token worker

这样就可以得到相应的命令代码。需要其他机器输入该代码加入swarm。

docker swarm管理界面 docker swarm ui_Docker_08


由于没有其他设备,使用虚拟机加入该swarm,提示无法发现该ip,所以无法进行其他节点加入swarm的配置。

3创建并部署一个service

// 创建并部署一个service,命名为helloworld
docker service create --replicas 1 --name helloworld alpine ping docker.com

docker swarm管理界面 docker swarm ui_初始化_09


通过以下代码,确认service创建成功

// 确认服务是否创建成功
docker service ls
//查看当前node上执行的task
docker ps

docker swarm管理界面 docker swarm ui_初始化_10


既然有创建service,那么如何删除service呢?

删除service的代码如下:

//删除service
docker service rm helloworld

docker swarm管理界面 docker swarm ui_docker swarm管理界面_11


如果删除不存在的项目的话,会显示下面这样的提示

docker swarm管理界面 docker swarm ui_docker swarm管理界面_12


那我们再使用ls查看服务,发现helloworld已经删除了,如下图所示:

docker swarm管理界面 docker swarm ui_docker swarm管理界面_13

4当前节点退出swarm

如果想令当前节点退出swarm,输入以下代码:

//强制退出swarm
docker swarm leave --force

docker swarm管理界面 docker swarm ui_初始化_14


这样当前节点就已经退出了swarm。