云服务器CentOS8.2安装部署Docker一文详解

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 云服务器CentOS8.2安装部署Docker一文详解

一、Docker简介


之前使用centos虚拟机安装部署hadoop时经常会安装到其他组件,有时候遇到下载速度过于慢的时候我们就会去换个镜像,比如阿里镜像和清华镜像等,这些镜像都是采用的Docker技术实现的。我们经常会与Docker技术打交道但是在还不了解Docker之前还不知道我们使用了该技术,现我们先简单了解Docker技术。


虚拟机属于服务器虚拟化技术。而 Docker 这样轻量级的虚拟化,属于操作系统虚拟化技术。Docker有三大核心概念,分别是:


  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)


简而言之Docker就是一个开源容器引擎技术,通过类似Git的操作方式来构建,分发Image,是容器更加灵活快速。


二、安装部署以及测试Docker


本次安装操作仍是用SecureCRT连接虚拟机,在此之上进行部署和测试,云服务器上面的web界面的指令操作不太好用。


1.安装Docker


Install Docker Engine on CentOS 这是官方安装Docker引擎的文档,当然全是英文,按照本文的步骤安装是一样的。


要开始在CentOS上使用Docker Engine,要先做好准备工作和看清楚依赖。


1.1查看系统版本


要安装Docker Engine,需要CentOS 7、CentOS 8(stream)或CentOS 9(stream)等以上版本。不支持或测试存档版本。必须启用centos extras存储库。默认情况下,此存储库已启用,但如果已禁用,则需要重新启用它,建议使用Overly2存储驱动程序。


如果不确定版本的话建议再查看一下版本1,Docker官方更新至少需要7.0以上,查看内核版本:

uname -a

f50ef3e32e9f4558826802876973ab1b.png


1.2移除旧依赖


我这台新的服务器理应是没有其他docker旧依赖的,但为了安全以及演示,执行一遍:


 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

585e94a96d564ac7acb6810ea47adc83.png


可以看到是没有匹配到这些目录文件的。


1.3安装方法


官方给出的安装方法有三种:

第一种:大多数用户设置Docker的存储库并从中安装,以便于安装和升级任务。官方推荐那么我们就选这种安装方法。


第二种:一些用户下载RPM软件包并手动安装,并完全手动管理升级。这在诸如在 air-gapped系统上安装Docker而无法访问internet的情况下非常有用。


第三种:在测试和开发环境中,一些用户选择使用自动便捷脚本来安装Docker。


1.4设置存储库


安装yum-utils包(提供yum-config-manager实用程序)并设置存储库。


sudo yum install -y yum-utils


e7a4bf04d6934c93bb27d04a0fbfdd08.png

 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

接着连输入两个y:


056a98262e18444da2b8fb828c56c353.png


1.5安装Docker引擎


安装最新版本的Docker Engine、containerd和Docker Compose,或转至下一步安装特定版本:


sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin


此命令安装Docker,但不启动Docker。它还创建了一个docker组,但默认情况下不会向该组添加任何用户。


要安装特定版本的Docker Engine,请在repo中列出可用版本,然后选择并安装:


yum list docker-ce --showduplicates | sort -r


此示例按版本号(从高到低)对结果进行排序,并被截断:

eb5222ba8bda49dca6c001f64bee1a91.png


返回的列表取决于启用了哪些存储库,并且特定于您的CentOS版本(在本例中由.el7后缀表示)。我推荐还是使用最新版本的Docker:


这里要把yum文件修改一下,不然会报错:


Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-Epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist

修改:


vi /etc/yum.repos.d/CentOS-Epel.repo


将failovermethod=priority给注释掉:


9ac1c79312b046fab1944575e962112b.png


然后直接下载最新版docker:

 

yum install docker-ce-20.10.9 docker-ce-cli-20.10.9 containerd.io docker-compose-plugin


还是报错:

Error: 
 Problem 1: problem with installed package podman-3.3.1-9.module_el8.5.0+988+b1f0b741.x86_64

错信息是已经有了 podman 和 buildah , 操作系统只允许一个容器工具存在。看样子腾讯云自带podman,其实个人觉得podman比docker好使,为了演示没办法了。


既然不兼容那么我们就把pdoman卸载:


yum -y erase podman buildah


868a0dc5abdd44769f941124c01ad7e3.png


再次安装docker:

04c6a79aab5b42c7933e7e28e7fd4a7e.png

9b28f588f94d48dfb2fcb5f295eaa7a3.png


这样就是安装成功了。


1.6启动Docker


sudo systemctl start docker


通过运行hello world映像,验证Docker引擎是否已正确安装。


sudo docker run hello-world


此命令下载测试映像并在容器中运行。当容器运行时,它打印一条消息并退出。

这将安装并运行Docker引擎。使用sudo运行Docker命令。继续Linux postinstall以允许非特权用户运行Docker命令和其他可选配置步骤。

b1d9246be34647108473a0c67efdbd0a.png

也可以通过命令查看docker是否安装成功:


yum list installed |grep docker

e77323c1b2ee4e599e68a2eae3190bb4.png


设置一下开机自动启动:


systemctl enable docker.service

a423630fccca4996b6e26a420e7a80f1.png

查看docker服务状态 running就是启动成功:


systemctl status docker

c9014f24ecdb481894604e40cbefaee0.png

1.7配置docker国内镜像


创建一个JSON文件:


vim /etc/docker/daemon.json


配置一个国内镜像:中科大

91d91b161b53433c91bf7795de64df5b.png

最后重启一下docker服务


systemctl restart docker.service

 

OK,Docker完成部署。

相关实践学习
一小时快速掌握 SQL 语法
本实验带您学习SQL的基础语法,快速入门SQL。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
测试技术 Linux 网络安全
【Docker项目实战】使用Docker部署Tasks.md任务管理白板
【6月更文挑战第1天】使用Docker部署Tasks.md任务管理白板
26 4
|
1天前
|
监控 NoSQL Redis
Redis哨兵,Redis哨兵核心功能如何一个云服务器完成6个节点的搭建-docker什么是docker是否可以把六个容器,都写到同一个ym配置中,一次都启动,不就直接保证互通问题了吗?
Redis哨兵,Redis哨兵核心功能如何一个云服务器完成6个节点的搭建-docker什么是docker是否可以把六个容器,都写到同一个ym配置中,一次都启动,不就直接保证互通问题了吗?
|
2天前
|
Web App开发 测试技术 项目管理
【Docker项目实战】使用Docker部署Servas自托管书签管理工具
【6月更文挑战第5天】使用Docker部署Servas自托管书签管理工具
26 0
【Docker项目实战】使用Docker部署Servas自托管书签管理工具
|
2天前
|
Docker 容器
docker 部署gitlab
docker 部署gitlab
|
2天前
|
IDE 前端开发 时序数据库
【Docker项目实战】使用Docker部署speedtest-tracker速度测试追踪器
【6月更文挑战第4天】使用Docker部署speedtest-tracker速度测试追踪器
5 0
|
4天前
|
Docker 容器 Linux
蓝易云 - 在CentOS中安装Docker Engine
以上步骤完成后,你就成功地在CentOS上安装了Docker Engine。
50 2
|
4天前
|
容器 Docker JavaScript
使用 Docker 和 Docker Compose 部署 Vue
使用 Docker 和 Docker Compose 部署 Vue 项目有两种方式:直接使用 Docker 和使用 Docker Compose。
29 0
|
5天前
|
容器 Docker 项目管理
【Docker项目实战】使用Docker部署tududi个人任务管理工具
【6月更文挑战第2天】使用Docker部署tududi个人任务管理工具
28 4
|
6天前
|
JavaScript 应用服务中间件 nginx
Docker 部署 Vue
在 Docker 中使用 Node 和 Nginx 基础镜像来部署一个 Vue 项目,通常可以按照以下步骤进行。这些步骤涵盖了从构建 Vue 项目到配置 Dockerfile 和 Nginx 的过程。
16 1
|
6天前
|
存储 网络安全 数据安全/隐私保护
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理
Docker--harbor私有仓库部署与管理

热门文章

最新文章