1 环境说明
本片博客演示Redhat 7.7 平台下Docker 的安装。
操作系统信息如下:
[root@www.cndba.cn sysconfig]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)
[root@www.cndba.cn sysconfig]#
[root@www.cndba.cn ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
devtmpfs 2.8G 0 2.8G 0% /dev
tmpfs 2.8G 0 2.8G 0% /dev/shm
tmpfs 2.8G 13M 2.8G 1% /run
tmpfs 2.8G 0 2.8G 0% /sys/fs/cgroup
/dev/mapper/rhel-root 46G 22G 24G 49% /
/dev/sda1 1014M 182M 833M 18% /boot
tmpfs 565M 4.0K 565M 1% /run/user/42
tmpfs 565M 56K 565M 1% /run/user/0
/dev/sr0 4.2G 4.2G 0 100% /run/media/root/RHEL-7.7 Server.x86_64
[root@www.cndba.cn ~]#
2 安装Docker
Docker的官方文档有详细的安装说明,链接如下:
我们这里只需要看CentOS平台的安装。
2.1 安装依赖包
这里需要先配置好YUM。 具体操作参考我之前的博客:
Linux 平台下 yum 源 配置 手册
https://www.cndba.cn/dave/article/154
安装依赖包:
[root@www.cndba.cn ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
www.cndba.cn | 2.8 kB 00:00:00
(1/2): www.cndba.cn/group_gz | 103 kB 00:00:00
(2/2): www.cndba.cn/primary | 2.0 MB 00:00:00
www.cndba.cn 5229/5229
Package yum-utils-1.1.31-52.el7.noarch already installed and latest version
Package device-mapper-persistent-data-0.8.5-1.el7.x86_64 already installed and latest version
Package 7:lvm2-2.02.185-2.el7.x86_64 already installed and latest version
Nothing to do
[root@www.cndba.cn ~]#
我这里已经安装过了,所以忽略了更新。
2.2 添加docker repository
配置docker源:
[root@www.cndba.cn ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@www.cndba.cn ~]# cat /etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://download.docker.com/linux/centos/7/source/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-edge]
name=Docker CE Edge - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-edge-debuginfo]
name=Docker CE Edge - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-edge-source]
name=Docker CE Edge - Sources
baseurl=https://download.docker.com/linux/centos/7/source/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://download.docker.com/linux/centos/7/source/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://download.docker.com/linux/centos/7/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[root@www.cndba.cn ~]#
在官方手册里还有一些其他的源,我这里不再安装。
2.3 安装Docker 引擎
按顺序列出docker 源中可用的docker 引擎:
[root@www.cndba.cn ~]# yum list docker-ce --showduplicates | sort -r
This system is not registered with an entitlement server. You can use subscription-manager to register.
: manager
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-
docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
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.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-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
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Available Packages
[root@www.cndba.cn ~]#
如果安装最新版的docker引擎,执行如下命令:
yum install docker-ce docker-ce-cli containerd.io
如果安装特定版本,指定docker版本:
yum install -y docker-ce-17.12.1 docker-ce-cli-17.12.1 containerd.io
我们这里制定版本安装报错如下:
[root@www.cndba.cn ~]# yum install -y docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package containerd.io.x86_64 0:1.2.13-3.1.el7 will be installed
--> Processing Dependency: container-selinux >= 2:2.74 for package: containerd.io-1.2.13-3.1.el7.x86_64
---> Package docker-ce.x86_64 3:19.03.8-3.el7 will be installed
--> Processing Dependency: container-selinux >= 2:2.74 for package: 3:docker-ce-19.03.8-3.el7.x86_64
---> Package docker-ce-cli.x86_64 1:19.03.8-3.el7 will be installed
--> Finished Dependency Resolution
Error: Package: 3:docker-ce-19.03.8-3.el7.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2:2.74
Error: Package: containerd.io-1.2.13-3.1.el7.x86_64 (docker-ce-stable)
Requires: container-selinux >= 2:2.74
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
[root@www.cndba.cn ~]#
这里提示我们需要先安装container-selinux 。
[root@www.cndba.cn ~]# wget http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm
--2020-03-28 21:01:46-- http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.107-3.el7.noarch.rpm
Resolving mirror.centos.org (mirror.centos.org)... 111.90.139.14, 2401:78c0::e00e
Connecting to mirror.centos.org (mirror.centos.org)|111.90.139.14|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 40212 (39K) [application/x-rpm]
Saving to: ‘container-selinux-2.107-3.el7.noarch.rpm’
100%[=====================================================================>] 40,212 6.79KB/s in 5.8s
2020-03-28 21:01:53 (6.79 KB/s) - ‘container-selinux-2.107-3.el7.noarch.rpm’ saved [40212/40212]
[root@www.cndba.cn ~]# rpm -ivh container-selinux-2.107-3.el7.noarch.rpm
warning: container-selinux-2.107-3.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:container-selinux-2:2.107-3.el7 ################################# [100%]
setsebool: SELinux is disabled.
[root@www.cndba.cn ~]#
再次安装docker:
[root@www.cndba.cn ~]# yum install -y docker-ce-19.03.8 docker-ce-cli-19.03.8 containerd.io
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package containerd.io.x86_64 0:1.2.13-3.1.el7 will be installed
---> Package docker-ce.x86_64 3:19.03.8-3.el7 will be installed
---> Package docker-ce-cli.x86_64 1:19.03.8-3.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===============================================================================================================
Package Arch Version Repository Size
===============================================================================================================
Installing:
containerd.io x86_64 1.2.13-3.1.el7 docker-ce-stable 23 M
docker-ce x86_64 3:19.03.8-3.el7 docker-ce-stable 25 M
docker-ce-cli x86_64 1:19.03.8-3.el7 docker-ce-stable 40 M
Transaction Summary
===============================================================================================================
Install 3 Packages
Total download size: 87 M
Installed size: 363 M
Downloading packages:
warning: /var/cache/yum/x86_64/7Server/docker-ce-stable/packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
Public key for containerd.io-1.2.13-3.1.el7.x86_64.rpm is not installed
(1/3): containerd.io-1.2.13-3.1.el7.x86_64.rpm | 23 MB 00:01:42
(2/3): docker-ce-cli-19.03.8-3.el7.x86_64.rpm | 40 MB 00:03:05
(3/3): docker-ce-19.03.8-3.el7.x86_64.rpm | 25 MB 00:18:33
---------------------------------------------------------------------------------------------------------------
Total 80 kB/s | 87 MB 00:18:33
Retrieving key from https://download.docker.com/linux/centos/gpg
Importing GPG key 0x621E9F35:
Userid : "Docker Release (CE rpm) <docker@docker.com>"
Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
From : https://download.docker.com/linux/centos/gpg
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
Installing : 1:docker-ce-cli-19.03.8-3.el7.x86_64 1/3
Installing : containerd.io-1.2.13-3.1.el7.x86_64 2/3
Installing : 3:docker-ce-19.03.8-3.el7.x86_64 3/3
Verifying : containerd.io-1.2.13-3.1.el7.x86_64 1/3
Verifying : 1:docker-ce-cli-19.03.8-3.el7.x86_64 2/3
Verifying : 3:docker-ce-19.03.8-3.el7.x86_64 3/3
Installed:
containerd.io.x86_64 0:1.2.13-3.1.el7 docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-cli.x86_64 1:19.03.8-3.el7
Complete!
[root@www.cndba.cn ~]#
2.4 启动docker
设置docker为开机自动启动
[root@www.cndba.cn ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
开启docker服务
[root@www.cndba.cn ~]# systemctl start docker
查看docker服务版本
[root@www.cndba.cn ~]# docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:27:04 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:25:42 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
[root@www.cndba.cn ~]#
版权声明:本文为博主原创文章,未经博主允许不得转载。