准备工作

本次进行安装的环境为windows11+wsl2子系统,Docker版本为20.10.14。

安装wsl2子系统

如果你是window11系统并且从未安装过wsl,那么直接运行以下命令即可:

wsl --install

此命令将启用所需的可选组件,下载最新的 Linux 内核,将 WSL2 设置为默认值,并安装 Linux 发行版(默认安装Ubuntu)。

如果是更旧的版本或者想要更多的个性化设置,详见微软的官方教程:安装 WSL | Microsoft Docs

安装Docker for Windows

请参考以下教程:Install Docker Desktop on Windows | Docker Documentation

安装完成后,双击桌面的Docker Desktop快捷方式打开Docker

打开Window PowerShell,输入以下命令:

docker --version

出现如下显示后即可说明安装完成:

PS C:\Users\KurtMao> docker --version
Docker version 20.10.14, build a224086

安装Swarm

对于 Docker 1.12+ 版本,Swarm 相关命令已经原生嵌入到了 Docker engine 的支持,对于较低版本的 Docker,需要额外进行配置。

下载镜像

docker pull swarm

正常情况会显示如下画面:

然后可以使用如下命令来验证是否成功下载Swarm镜像:

PS C:\Users\KurtMao> docker run --rm swarm -v
swarm version 1.2.9 (527a849)

能正常显示swarm的版本即为下载成功。

使用Swarm

创建Swarm集群

初始化 swarm 集群,进行初始化的这台机器,就是集群的管理节点:

docker swarm init

添加节点到集群

添加管理节点:

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

结果如下:

输入其提示的命令:

docker swarm join --token SWMTKN-1-4zgdx6vwm9wp6zp6wlf2gjw8sq8bmhozam1fuxbu7azg6h9ulu-5er317t3agu9tdhtvtcwh2cis 192.168.65.3:2377

添加工作节点:

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

结果如下:

输入其提示的命令:

docker swarm join --token SWMTKN-1-4zgdx6vwm9wp6zp6wlf2gjw8sq8bmhozam1fuxbu7azg6h9ulu-ap63oykrgq9l2rre0ovqf1n3y 192.168.65.3:2377

由于本地未准备其他节点机器,于是在上述命令执行后会报如下错误:

Error response from daemon: This node is already part of a swarm. Use "docker swarm leave" to leave this swarm and join another one.

上述命令需要在目标节点机器上运行。

查看Swarm集群详情

执行以下命令:

docker info

结果如下:

其中只有一个节点,并且是初始化时的Manager节点

查看节点列表

docker node ls

结果如下:

发布服务

在manager节点机器上执行如下命令:

docker service create --replicas 1 --name helloWorld alpine ping bilibili.com

正常会显示如下结果:

查看服务列表

docker service ls

结果如下:

查看服务详情

docker service inspect --pretty helloWorld

结果如下:

添加更多服务实例

docker service scale helloWorld=3

结果如下:

增加为3个服务实例

查看服务运行节点

docker service ps helloWorld

结果如下:

删除服务

docker service rm helloWorld

再次查看服务列表:

docker service ls

发现3个服务实例均已被删除

退出Swarm

docker swarm leave --force

结果如下:

成功退出Swarm

基于Docker的Swarm单机版的安装和试用相关推荐

  1. 基于Docker的Hadoop完全分布式安装

    之前安装Hadoop是用VMWare创建虚拟机,然后安装伪分布式,因为虚拟机太慢,太卡,实在没有玩下去的心情了,现在想到Docker可以实现虚拟化,看看能不能安装Hadoop,网上查了查,果然可以,并 ...

  2. 基于docker的达梦数据库安装

    1.拉取centos7镜像 命令:docker pull centos:centos7 2.  拉取完成后,命令查看镜像  docker images 3.运行centos7镜像 达梦数据库默认端口是 ...

  3. spring boot 与 iview 前后端分离架构之开发环境基于docker的部署的实现(三十六)

    spring boot 与 iview 前后端分离架构之开发环境基于docker的后端的部署的实现(三十六) 公众号 基于docker的后端的部署 安装mysql数据库 创建数据库 安装redis 安 ...

  4. 单机版Docker Swarm安装及试用

    Docker Swarm简介 Docker是一种运行于 Linux 和 Windows 上的软件,用于创建.管理和编排容器.Swarm 是Docker官方提供的一款集群管理工具,其主要作用是把若干台 ...

  5. 基于docker - 单机版FastDFS搭建

    基于docker - 单机版FastDFS搭建 ###### 安装单机版 ###### # make docker container docker run -it -P -v /home/insun ...

  6. docker host模式拿到nginx远程ip端口_FastDFS基于Docker安装,免采坑版

    暂且不说Docker在生产环境的性能如何,单就在学习新技术的过程中能够快速构建环境这一项来说,就值得推荐你尝试使用.本文带大家基于Docker来安装FastDFS服务. 即便你对FastDFS的安装不 ...

  7. 项目 - 基于Docker Swarm的高可用Web集群

    目录 项目名称:基于Docker Swarm的高可用Web集群 项目环境:Docker 20.10.3,CentOS 8.2 (8台 1核1G),Ansible 2.9.17,Keepalived,N ...

  8. 03_项目-基于Docker Swarm的高可用Web集群

    文章目录 项目名称:基于Docker Swarm的高可用Web集群 网络拓扑图 数据流程图 项目环境:Docker 20.10.3,CentOS 8.2(8台 1核1G),Ansible 2.9.17 ...

  9. 基于Docker搭建单机版Mesos/Marathon

    摘要: 本文介绍了基于Docker搭建单机版Mesos/Marathon的方法,Mesos/Marathon的所有组件均运行于单个容器中. GitHub地址: kiwenlau/single-meso ...

最新文章

  1. 安卓手机状态栏 定位服务自动关闭_手机该不该每天关机一次?原来这么多年手机白用了!...
  2. AICompiler编译器介绍及访存密集算子优化
  3. leetcode102
  4. C#项目开发系统开发进度-第X组-xxx(简单)
  5. icse ccf_ICSE的完整形式是什么?
  6. linux中top工具,Linux命令工具 top详解
  7. 《软件项目管理(第二版)》第 6 章——项目质量管理 重点部分总结
  8. 行为设计模式 - 观察者设计模式
  9. 把C#当作脚本语言来用
  10. 计算机专业抑郁症多,社工专业毕业的我得了抑郁症,我的痛苦别人难以理解?...
  11. 计算机键盘和实验原理图,独立键盘的检测原理及程序实现方法
  12. 华为语音解锁设置_华为解锁屏(华为语音解锁屏幕)
  13. 前端获取北京时间_js获取北京时间
  14. 上传身份证照片js_小程序上传身份证图片的实现方法
  15. Xenu软件检查网站死链接
  16. 号称最为简明实用的Django上手教程
  17. 计算机32位操作系统指什么,电脑操作系统的32位和64位有什么区别
  18. 神州优车上云之路:如何在效率、质量和成本三方面达到平衡?
  19. 春招计算机学校,衡东计算机IT春招学校排名
  20. 前端静态服务踩坑实践

热门文章

  1. 四舍五入取整特殊数据处理
  2. 当系统提示“此磁盘/驱动器有问题,需要扫描并修复”时千万不要点修复
  3. 网络退化梯度消失梯度爆炸
  4. 什么是SAAS、IAAS
  5. 查看谷歌浏览器的扩展程序(插件)
  6. KeyValuePairstring, string
  7. ubuntu mysql 启动失败
  8. SQL中去重的三种方法,还有谁不会?
  9. Markdown语法介绍
  10. python二维数组排序_Python排序多维数组