CentOS Docker安装

Docker 支持以下的 64 位 CentOS 版本:

  • CentOS 7
  • CentOS 8
  • 更高版本…

CentOS使用YUM安装必须启用CentOS自带YUM源centos-extras,默认情况下,此仓库是启用的,但是如果已禁用它,则需要启用centos-extras启用方法

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

内核

通过 uname -r 命令查看你当前的内核版本。

  1. [root@jk-lx-dev-app01 ~]# uname -r
  2. 3.10.0-1062.1.2.el7.x86_64

YUM更新

使用 root 权限登录 Centos。确保 yum 包更新到最新,最好换成国内源,否则速度太慢。

  1. [root@jk-lx-dev-app01 ~]# yum update

卸载老旧版本

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

  1. [root@jk-lx-dev-app01 ~]# yum remove docker docker-common docker-selinux docker-engine

依赖

安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

  1. [root@jk-lx-dev-app01 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

设置docker yum源

  1. [root@jk-lx-dev-app01 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  2. [root@jk-lx-dev-app01 ~]# yum makecache fast //更新源缓存
  3. Loaded plugins: fastestmirror
  4. Loading mirror speeds from cached hostfile
  5. base | 3.6 kB 00:00:00
  6. docker-ce-stable | 3.5 kB 00:00:00
  7. epel | 5.3 kB 00:00:00
  8. extras | 2.9 kB 00:00:00
  9. gitlab-ce | 2.9 kB 00:00:00
  10. updates | 2.9 kB 00:00:00
  11. (1/2): docker-ce-stable/x86_64/updateinfo | 55 B 00:00:00
  12. (2/2): docker-ce-stable/x86_64/primary_db | 37 kB 00:00:00
  13. Metadata Cache Created

查看可安装版本

可以查看所有仓库中所有docker版本,并选择特定版本安装

  1. [root@jk-lx-dev-app01 ~]# yum list docker-ce --showduplicates | sort -r
  2. Loading mirror speeds from cached hostfile
  3. Loaded plugins: fastestmirror
  4. docker-ce.x86_64 3:19.03.5-3.el7 docker-ce-stable
  5. docker-ce.x86_64 3:19.03.4-3.el7 docker-ce-stable
  6. docker-ce.x86_64 3:19.03.3-3.el7 docker-ce-stable
  7. docker-ce.x86_64 3:19.03.2-3.el7 docker-ce-stable
  8. docker-ce.x86_64 3:19.03.1-3.el7 docker-ce-stable
  9. docker-ce.x86_64 3:19.03.0-3.el7 docker-ce-stable
  10. docker-ce.x86_64 3:18.09.9-3.el7 docker-ce-stable
  11. docker-ce.x86_64 3:18.09.8-3.el7 docker-ce-stable
  12. docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
  13. docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
  14. docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
  15. docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
  16. docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
  17. docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
  18. docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
  19. docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
  20. docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
  21. docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
  22. docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
  23. docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
  24. docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
  25. docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
  26. docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
  27. docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
  28. docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
  29. docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
  30. docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
  31. docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
  32. docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
  33. docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
  34. docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
  35. docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
  36. docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
  37. Available Packages

安装

  1. yum install docker-ce-17.12.0.ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
  2. 或者 yum -y install docker-ce
  1. [root@jk-lx-dev-app01 ~]# yum -y install docker-ce
  2. Loaded plugins: fastestmirror
  3. Loading mirror speeds from cached hostfile
  4. Resolving Dependencies
  5. --> Running transaction check
  6. ---> Package docker-ce.x86_64 3:19.03.5-3.el7 will be installed
  7. --> Processing Dependency: container-selinux >= 2:2.74 for package: 3:docker-ce-19.03.5-3.el7.x86_64
  8. --> Processing Dependency: containerd.io >= 1.2.2-3 for package: 3:docker-ce-19.03.5-3.el7.x86_64
  9. --> Processing Dependency: docker-ce-cli for package: 3:docker-ce-19.03.5-3.el7.x86_64
  10. --> Running transaction check
  11. ---> Package container-selinux.noarch 2:2.107-3.el7 will be installed
  12. ---> Package containerd.io.x86_64 0:1.2.10-3.2.el7 will be installed
  13. ---> Package docker-ce-cli.x86_64 1:19.03.5-3.el7 will be installed
  14. --> Finished Dependency Resolution
  15. Dependencies Resolved
  16. ===============================================================================================
  17. Package Arch Version Repository Size
  18. ===============================================================================================
  19. Installing:
  20. docker-ce x86_64 3:19.03.5-3.el7 docker-ce-stable 24 M
  21. Installing for dependencies:
  22. container-selinux noarch 2:2.107-3.el7 extras 39 k
  23. containerd.io x86_64 1.2.10-3.2.el7 docker-ce-stable 23 M
  24. docker-ce-cli x86_64 1:19.03.5-3.el7 docker-ce-stable 39 M
  25. Transaction Summary
  26. ===============================================================================================
  27. Install 1 Package (+3 Dependent packages)
  28. Total download size: 87 M
  29. Installed size: 362 M
  30. Downloading packages:
  31. (1/4): container-selinux-2.107-3.el7.noarch.rpm | 39 kB 00:00:00
  32. warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
  33. Public key for containerd.io-1.2.10-3.2.el7.x86_64.rpm is not installed
  34. (2/4): containerd.io-1.2.10-3.2.el7.x86_64.rpm | 23 MB 00:00:02
  35. (3/4): docker-ce-19.03.5-3.el7.x86_64.rpm | 24 MB 00:00:03
  36. (4/4): docker-ce-cli-19.03.5-3.el7.x86_64.rpm | 39 MB 00:00:04
  37. -----------------------------------------------------------------------------------------------
  38. Total 13 MB/s | 87 MB 00:00:06
  39. Retrieving key from https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
  40. Importing GPG key 0x621E9F35:
  41. Userid : "Docker Release (CE rpm) <docker@docker.com>"
  42. Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
  43. From : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
  44. Running transaction check
  45. Running transaction test
  46. Transaction test succeeded
  47. Running transaction
  48. Installing : 2:container-selinux-2.107-3.el7.noarch 1/4
  49. Installing : containerd.io-1.2.10-3.2.el7.x86_64 2/4
  50. Installing : 1:docker-ce-cli-19.03.5-3.el7.x86_64 3/4
  51. Installing : 3:docker-ce-19.03.5-3.el7.x86_64 4/4
  52. Verifying : containerd.io-1.2.10-3.2.el7.x86_64 1/4
  53. Verifying : 1:docker-ce-cli-19.03.5-3.el7.x86_64 2/4
  54. Verifying : 2:container-selinux-2.107-3.el7.noarch 3/4
  55. Verifying : 3:docker-ce-19.03.5-3.el7.x86_64 4/4
  56. Installed:
  57. docker-ce.x86_64 3:19.03.5-3.el7
  58. Dependency Installed:
  59. container-selinux.noarch 2:2.107-3.el7
  60. containerd.io.x86_64 0:1.2.10-3.2.el7
  61. docker-ce-cli.x86_64 1:19.03.5-3.el7
  62. Complete!

启动并加入开机启动

  1. [root@jk-lx-dev-app01 ~]# systemctl start docker
  2. [root@jk-lx-dev-app01 ~]# systemctl enable docker
  3. Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

  1. [root@jk-lx-dev-app01 ~]# docker version
  2. Client: Docker Engine - Community
  3. Version: 19.03.5
  4. API version: 1.40
  5. Go version: go1.12.12
  6. Git commit: 633a0ea
  7. Built: Wed Nov 13 07:25:41 2019
  8. OS/Arch: linux/amd64
  9. Experimental: false
  10. Server: Docker Engine - Community
  11. Engine:
  12. Version: 19.03.5
  13. API version: 1.40 (minimum version 1.12)
  14. Go version: go1.12.12
  15. Git commit: 633a0ea
  16. Built: Wed Nov 13 07:24:18 2019
  17. OS/Arch: linux/amd64
  18. Experimental: false
  19. containerd:
  20. Version: 1.2.10
  21. GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
  22. runc:
  23. Version: 1.0.0-rc8+dev
  24. GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
  25. docker-init:
  26. Version: 0.18.0
  27. GitCommit: fec3683

卸载

  1. [root@jk-lx-dev-app01 ~]# yum list installed | grep docker
  2. containerd.io.x86_64 1.2.10-3.2.el7 @docker-ce-stable
  3. docker-ce.x86_64 3:19.03.5-3.el7 @docker-ce-stable
  4. docker-ce-cli.x86_64 1:19.03.5-3.el7 @docker-ce-stable
  5. [root@jk-lx-dev-app01 ~]# yum -y remove docker-ce.x86_64