CentOS7下docker安装

主要参考官方推荐的CentOS安装文档,yum安装

安装前准备

操作系统版本

操作系统版本至少为CentOS7或者CentOS8,历史版本并不支持或者未经测试。
centos-extras库必须打开,这个库默认是开启的,但是如果你手动关闭了,需要重新打开。
推荐使用overlay2存储引擎

删除历史版本

历史版本的Docker叫做docker或者docker-engine,如果有安装历史版本,卸载掉,并且卸载掉所有关联的依赖。

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

如果yum报错没有匹配任何安装包,是没问题
/var/lib/docker/ 是提前预留的目录,用来存储镜像,容器,卷,网络。Docker引擎包现在叫 docker-ce

安装方法

你可以根据自己的需要,选择合适的Docker引擎安装方式

  1. 大部分用户选择通过设置Docker的yum源来安装,主要为了安装和更新方便,这也是最推荐的方式
  2. 一部分用户通过下载RPM包来手动安装,并且完全手动的进行包管理。这种情况适用于某些特殊场景,比如部分没有网络的系统上。
  3. 在测试或者开发环境,一部分用户选择使用自动一键脚本进行安装。不推荐,生产环境使用非常危险,建议从头review所有脚本代码再使用。

使用Docker的yum源安装

在往一台新的主机上安装Docker引擎之前,你需要线设置Docker的yum源。然后才可以从yum源中进行安装和更新

安装yum-utils包(提供yum-config-manage工具)并配置稳定版yum源
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
安装Docker引擎
  1. 安装最新版本Docker引擎和集成包
$  sudo yum install docker-ce docker-ce-cli containerd.io

如果提示接受GPG密钥,验证密钥是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配就接受

配置了多个yum源
如果你启动了多个yum源,在使用yum install 或者yum update命令进行安装或者更新且不指定特定版本时,会自动帮你安装最新版本,这有可能不符合你对稳定性的需求。

上面的命令安装了Docker引擎包,但是并没有启动Docker,它同时创建了一个docker的用户组,但是并没有在这个用户组里添加任何默认用户

$ cat /etc/group | grep docker
docker:x:993:
  1. 安装特定版本的Docker引擎包,先列出repo中的所有可用包,然后选择安装
    a. 列出并排序所有repo中的可用包,下面的例子用版本号做了排序,由高到低,只截取了一部分
$ yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
已安装的软件包
可安装的软件包
docker-ce.x86_64            3:20.10.9-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.8-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.7-3.el7                    docker-ce-stable
docker-ce.x86_64            18.06.3.ce-3.el7                   docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable

这个列表返回了所有可用yum源包,并且是适用于你CentOS版本的(例子中,.el7后缀标记了这一点)
b. 可以根据官方全称安装特定版本的包,主要通过包名(docker-ce)加上版本号字符串(第二个字段),从(:)之后开始,到第一个分隔符,用(-)连接,例如上面的docker-ce-20.10.7-3

 sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

上面的命令安装了Docker引擎包,但是并没有启动Docker,它同时创建了一个docker的用户组,但是并没有在这个用户组里添加任何默认用户

  1. 启动Docker
$ sudo systemctl start docker
  1. 跑一下hello-world镜像,判断Docker引擎是否安装成功
$ sudo docker run hello-world
sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:97a379f4f88575512824f3b352bc03cd75e239179eea0fecc38e597b2209f49a
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
...

这个命令会自动下载hello-world镜像,并在容器中执行,当容器执行之后,会输出信息并推出。

以上就是安装和运行Docker引擎的方法,使用sudo权限运行docker命令,下一步可以通过这个步骤去配置无权限用户执行Docker命令以及其他可配置选项步骤

更新Docker引擎

更新Docker引擎可以参考安装步骤,先下载最新安装包,使用yum -y update代替yum -y install,并且指定最新文件。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容