目录

一、前提条件

二、安装步骤

1.卸载旧版本

2.安装软件包

3.设置稳定的安装源(存储库)

4.查询可安装的版本

5.安装指定的版本

6.验证安装

7.启动docker

8.测试运行容器

三、遇到的问题:Docker run hello-world 失败

解决方案:


参考Docker官网:https://docs.docker.com/engine/install/centos/



一、前提条件

       要安装 Docker Engine-Community,您需要一个 CentOS 7 的维护版本。不支持或未测试存档版本。该 centos-extras 库必须启用。默认情况下,此存储库是启用的,但是如果已禁用它,则需要 重新启用它。(参考: https://wiki.centos.org/AdditionalResources/Repositories)overlay2 建议使用存储驱动程序

关闭防火墙

# 暂时关闭防火墙
systemctl stop firewalld

# 永久关闭防火墙
systemctl disable firewalld

 

二、安装步骤

1.卸载旧版本

代码如下:较旧的 Docker 版本称为 docker 或 docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。

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

2.安装软件包

代码如下:yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-data和lvm2由需要 devicemapper 存储驱动程序

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

3.设置稳定的安装源(存储库)

代码如下:

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

4.查询可安装的版本

代码如下:按版本号(从高到低)对结果进行排序

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

查询结果

Docker下载Apple M2 Docker下载centoS 7点六版本镜像_Docker

5.安装指定的版本

我这里选择安装docker-ce-20.10.7版本,如果你在安装的时候查询到新的版本,只要按照格式安装就可以了,注意版本号。
软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。
例如,docker-ce-20.10.7

代码如下:

sudo yum install docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io

6.验证安装

代码如下:安装完成后,运行下面的命令,验证是否安装成功

docker version

或者

docker info

7.启动docker

代码如下:

systemctl start docker

8.测试运行容器

代码如下:通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community 

docker run hello-world

容器运行时,会打印参考消息并退出

Docker下载Apple M2 Docker下载centoS 7点六版本镜像_linux_02

 9.启动Docker,设置开机启动

[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl enable docker

三、遇到的问题:Docker run hello-world 失败

如果docker正常启动,但是运行hello-world下载时间超时或者失败,需要配置配置相关文件,新增daemon.json文件【本人遇到的问题】

原因:docker run hello-world 的运行原理是docker首先会在本机中寻找要运行的镜像,如果找到了就以该镜像为模板,生产容器实例运行;如果找不到,就会到远程库上查找该镜像,找到就下载该镜像到本地并以该镜像为模板生产容器实例运行,否则就会返回失败

解决方案:

1.首先我们得检查docker是否启动成功,用命令 docker version 查看

2.更新镜像仓库:

  • 配置相关文件(新增daemon.json文件
[root@mysql docker]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]
}
  • 划重点
    很多资料都没有这一步,当我们新增了daemon.json文件后必须重载docker才能生效
    1、systemctl daemon-reload    //载入daemon.json (重新加载daemon.json文件
    2、systemctl restart docker    //重启docker
    完成
    最后再重新测试 docker run hello-world ,成功运行!