栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

CentOS 8安装单机版Docker-Swarm并试用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CentOS 8安装单机版Docker-Swarm并试用

CentOS 8 安装单机版Docker-Swarm并测试
  • 在 CentOS 上安装 Docker 引擎
    • Docker概述
    • 使用 Docker 仓库进行安装
    • 测试Docker是否安装成功
  • 安装单机版Swarm
    • Swarm概述
    • Swarm单机版安装过程
      • 1.拉取swarm镜像
      • 2.初始化单机版Swarm
      • 3.查看Swarm是否创建成功
    • 在单机版Swarm部署任务
  • 遇见问题及解决方案
    • 1.CentOS 8 执行 yum 命令提示:No URLs in mirrorlist error
    • 2.执行 Docker 命令提示:Get Permission Denied

在 CentOS 上安装 Docker 引擎 Docker概述

Docker 引擎是一种开源容器化技术,用于构建和容器化应用程序。Docker 引擎充当客户端-服务器应用程序,具有:

  • 具有长时间运行的守护进程 dockerd 的服务器。
  • API,用于指定程序可用于与 Docker 守护程序通信和指示的接口。
  • 命令行界面 (CLI) 客户端 Docker。

根据官方文档,安装 Docker 引擎主要有以下方式:

  • 大多数用户设置 Docker 存储库并从中进行安装,以便于安装和升级任务。这是推荐的方法。
  • 某些用户下载 RPM 包并手动安装,并完全手动管理升级。这在诸如在无法访问互联网的气隙系统上安装Docker之类的情况下非常有用。
  • 在测试和开发环境中,一些用户选择使用自动化的便利脚本来安装Docker。
    本文采用使用存储库安装 Docker 引擎。在CentOS虚拟机上首次安装 Docker 引擎之前,我们需要先设置 Docker 存储库。之后,就可以从存储库安装和更新 Docker。
使用 Docker 仓库进行安装

要安裝 Docker 引擎,需要一个7 或 8 版本的 CentOS 操作系统。不支持或测试存档版本。
安装软件包(提供实用程序)并设置稳定存储库。yum-utilsyum-config-manager

#安装所需的软件包
sudo yum install -y yum-utils

安装成功效果如下:

然后,设置Docker仓库。

#使用官方源地址设置仓库
sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo

测试Docker是否安装成功

可以使用- v命令,获得版本号即安装成功

# 查看是否安装成功 可以输出版本号即安装成功
docker -v


可以看到,我们成功获得了Docker版本号,说明Docker成功安装。
接下来,我们通过软件安装包自带的 hello-world 映像来验证是否正确安装了 Docker Engine-Community 。

#启动 Docker
sudo systemctl start docker
#运行 hello-world 映像,验证Docker是否运行正常
sudo docker run hello-world


可以看出,Docker引擎能够正常运行。

安装单机版Swarm Swarm概述

Swarm是一个由Docker研发团队开发的调度工具,可以使用标准的Docker 应用编程接口。
Swarm有三个核心概念:节点、服务和任务。

  • 节点是已加入Swarm的Docker引擎的实例
  • 服务是在Worker节点上执行的
  • 任务是在Docker容器中执行的命令

Swarm的工作模式如图所示。

  • Manager:接收客户端服务请求,将任务发送到worker节点;维护集群期望状态和集群管理功能及Leader选举。默认情况下manager节点也会运行任务,也可以配置只做管理任务。
  • Worker:接收并执行从管理节点分配的任务,并报告任务当前状态,以便管理节点维护每个服务期望状态。
Swarm单机版安装过程 1.拉取swarm镜像

首先,通过pull命令拉取swarm镜像。

#拉取swarm镜像
docker pull swarm


最后一行显示信息 Status: Downloaded newer image for swarm:latest,说明拉取成功。

2.初始化单机版Swarm

然后,初始化Swarm的命令为:

#搭建单机版swarm
docker swarm init

执行该命令后,获取全球唯一的 token,作为Swarm环境的唯一标识,效果如下:
第一行显示信息 Swarm initialized: current node (keqqzujpo2a24wnpvdvofxtm9) is now a manager.,说明单机版swarm初始化成功。

3.查看Swarm是否创建成功

通过Docker配置信息,查看是否安装了Swarm

# 查看Docker配置信息
docker info


可以看出,Swarm配置成功且启动成功。

在单机版Swarm部署任务

接下来,我们创建部署简单的service服务。

#服务1
docker service create --name redis redis:3.0.6
#服务2
docker service create --mode global --name redis2 redis:3.0.6

服务1:redis

服务2:redis2

通过ls列出服务命令列出正在运行的service服务。

# 确认是否创建成功
docker service ls


通过rm指令删除已部署的service。

# 删除service
docker service rm redis
# 查看是否删除成功
docker service ps redis


用同样的方法移除redis2服务。
最后,通过leave指令退出swarm。

# 退出swarm
docker swarm leave --force


更多Docker Swarm服务操作可参考docker service官方文档。

遇见问题及解决方案

本人在配置过程中,主要遇到以下问题:

1.CentOS 8 执行 yum 命令提示:No URLs in mirrorlist error

问题:
在CentOS 8中,由于镜像列表中没有url,使用yum配置Docker仓库时会出现如下错误:

这是因为CentOS官方已从官方镜像中移除CentOS 8的所有包。若想继续运行CentOS,可以用仍在运行的URL替换源。
使用vault.centos.org代替mirror.centos.org,操作指令如下:

sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

执行完毕,就可以正常安装Docker了。参考文档

2.执行 Docker 命令提示:Get Permission Denied

安装完docker后,执行docker拉取镜像命令,出现以下报错:

我们可以创建 docker 用户组,并将当前用户加入到 docker 用户组中,就可以执行 docker 相关命令了。
具体操作命令如下:

sudo groupadd docker     		# 添加docker用户组
sudo gpasswd -a $USER docker    # 将登陆用户加入到docker用户组中
newgrp docker     				# 更新用户组
docker images    				# 测试docker命令在不加sudo时是否可以使用

此外,还有另一种解决方案:使用 sudo 获取管理员权限,运行 docker 命令时在前面加上 sudo。具体可看参考文档

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851283.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号