在 CentOS7 上安装 DockerCE

一、安装前清理旧版本docker

旧版本的Docker被称作docker或者docker-engine。

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

二、使用repository进行安装

此种安装方式比较简单,并且升级方便。

1. 安装依赖项

安装Docker CE之前,需安装依赖:yum-utils提供的yum-config-manager工具,以及devicemapper需要的device-mapper-persistent-data和lvm2。

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

2. 安装stable版本的repository

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

附:启用或禁用nightly和test版本的命令如下

sudo yum-config-manager --enable docker-ce-nightly
sudo yum-config-manager --enable docker-ce-test
sudo yum-config-manager --disable docker-ce-nightly
sudo yum-config-manager --disable docker-ce-test

注意: 为加快yum的安装速度,我们可以使用阿里云的源。

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

3. 安装Docker CE

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

命令执行后,默认安装repository中的最高版本的Docker CE。Docker CE安装之后,会添加一个docker用户组,但是这个组中没有用户。

附:安装指定版本的Docker CE
a. 执行下面的命令列出repository包含的所有版本的Docker CE

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

docker-ce.x86_64  3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64  3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64  18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64  18.06.0.ce-3.el7                    docker-ce-stable

b. 执行下面的命令安装指定版本的Docker CE

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

4. 启动docker服务

sudo systemctl start docker

5. 运行hello-world,确认docker-ce已被正确安装

sudo docker run hello-world

6. 升级Docker CE

参考安装指定版本的Docker CE,选择需要的版本,并yum upgrade。

三、 使用rpm包安装Docker CE

在<https://download.docker.com/linux/centos/7/x86_64/stable/Packages/>下载所需版本的Docker CE rpm包,然后传到系统上安装即可。如需安装nightly和test版本,将链接中的stable替换成nightly和test即可。我们也可以使用阿里云<https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/>等第三方源下载rpm包

四、 使用convenience脚本安装

仅用于开发测试,不要用于生产环境。在使用前需注意以下几点:

  • 脚本需要root或sudo的权限,在运行前请审核脚本。
  • 脚本会自动检测系统的发行版和版本。脚本无法定制安装参数。
  • 脚本会自动安装所有依赖的和推荐的安装包,并且不会通知你进行确认。
  • 脚本没有提供选项让你选择安装的版本,她自动安装edge channel中的最新版。
  • 如果已使用其他方式安装过docker,请不要使用convenience脚本来安装。

下面是安装get.docker.com中最新版Docker CE的例子,如需安装test.docker.com中的最新版,替换下面命令中出现的每一个get为test。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

如果希望使用非root账号来使用docker,请将非root账号加入docker组。

sudo usermod -aG docker your-user

使用convenience脚本安装的,升级时需注意不要再次运行convenience脚本来升级,这会导致某些问题。如需升级,请直接使用系统的包管理工具。

五、 卸载Docker CE

1、 卸载软件包

sudo yum remove docker-ce

2、 images、containers、volumes、configuration files等数据不会自动删除。可执行下面的命令手动删除images、containers、volumes:

sudo rm -rf /var/lib/docker

3、 任何你修改过的configuration files,需要你手动进行删除。

参考:<https://docs.docker.com/install/linux/docker-ce/centos/>;


文章如有错漏之处,欢迎在评论区中指正。
文章作者: yf_9186
文章链接: https://yfeng9186.gitee.io/blog/2020/1/install-dockerce-on-centos7/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 云中君!

猜你喜欢

转载自blog.51cto.com/yfeng9186/2465700