CentOS:安装Docker
原创
©著作权归作者所有:来自51CTO博客作者ITKaven的原创作品,请联系作者获取转载授权,否则将追究法律责任
脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
或
curl -sSL https://get.daocloud.io/docker | sh
博主演示第一个。
[root@localhost ~]# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# Executing docker install script, commit: 3d8fe77c2c46c5b7571f94b42793905e5b3e42e4
+ sh -c 'yum install -y -q yum-utils'
警告:/var/cache/yum/x86_64/7/base/packages/libxml2-python-2.9.1-6.el7.5.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
libxml2-python-2.9.1-6.el7.5.x86_64.rpm 的公钥尚未安装
导入 GPG key 0xF4A80EB5:
用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
指纹 : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
软件包 : centos-release-7-9.2009.0.el7.centos.x86_64 (@anaconda)
来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
+ sh -c 'yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo'
已加载插件:fastestmirror
adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
+ '[' stable '!=' stable ']'
+ sh -c 'yum makecache'
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
base | 3.6 kB 00:00:00
docker-ce-stable | 3.5 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/10): docker-ce-stable/x86_64/updateinfo | 55 B 00:00:00
(2/10): docker-ce-stable/x86_64/filelists_db | 23 kB 00:00:00
(3/10): docker-ce-stable/x86_64/primary_db | 51 kB 00:00:00
(4/10): docker-ce-stable/x86_64/other_db | 116 kB 00:00:00
(5/10): base/7/x86_64/other_db | 2.6 MB 00:00:01
(6/10): extras/7/x86_64/filelists_db | 224 kB 00:00:00
(7/10): base/7/x86_64/filelists_db | 7.2 MB 00:00:01
(8/10): updates/7/x86_64/other_db | 334 kB 00:00:00
(9/10): extras/7/x86_64/other_db | 134 kB 00:00:00
(10/10): updates/7/x86_64/filelists_db | 2.7 MB 00:00:00
元数据缓存已建立
+ '[' -n '' ']'
+ sh -c 'yum install -y -q docker-ce'
warning: /var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-20.10.1-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY
docker-ce-20.10.1-3.el7.x86_64.rpm 的公钥尚未安装
导入 GPG key 0x621E9F35:
用户ID : "Docker Release (CE rpm) <docker@docker.com>"
指纹 : 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35
来自 : https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
Remember that you will have to log out and back in for this to take effect!
WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
for more information.
启动Docker
。
[root@localhost ~]# service docker start
Redirecting to /bin/systemctl start docker.service
查看Docker
版本,要Client
和Server
都有才行,Docker
是C/S
架构,任何一端没有启动都不行。
[root@localhost ~]# docker version
Client: Docker Engine - Community
Version: 20.10.1
API version: 1.41
Go version: go1.13.15
Git commit: 831ebea
Built: Tue Dec 15 04:37:17 2020
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.1
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: f001486
Built: Tue Dec 15 04:35:42 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.3
GitCommit: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version: 1.0.0-rc92
GitCommit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version: 0.19.0
GitCommit: de40ad0
手动安装
如果已安装旧版本的Docker
,先卸载Docker
以及相关的依赖项。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
我之前就已经安装过Docker
了,这里先进行卸载。
如果yum
报告未安装这些软件包(如下图),则可以继续安装Docker
。
安装方法
可以根据需要,以不同的方式安装Docker Engine
:
- 设置
Docker
的仓库,并从中进行安装,以简化安装和升级任务。这是推荐的方法。 - 下载并手动安装
RPM
软件包, 需要完全手动管理升级。这在无法访问互联网的系统上安装Docker
非常有用。 - 在测试和开发环境中,使用自动脚本来安装
Docker
。
这里只介绍推荐的方法来安装Docker
。
设置仓库
在系统上首次安装Docker Engine
之前,需要设置Docker
仓库。之后,你可以从仓库安装和更新Docker
。先安装yum-utils
软件包(提供yum-config-manager
程序)。
$ sudo yum install -y yum-utils
设置一个稳定的仓库,使用官方地址(比较慢)。
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
阿里云地址。
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学地址。
$ sudo yum-config-manager \
--add-repo \
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装Docker Engine
安装最新版本的Docker Engine
和containerd
,或者安装特定版本:
$ sudo yum install docker-ce docker-ce-cli containerd.io
如果提示你接受GPG
密钥,请验证指纹是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,如果匹配,则输入y
。
要安装特定版本的Docker Engine
,请在仓库中列出可用版本,然后选择并安装。
- 列出并排序你仓库中可用的版本。本示例按版本号(从高到低)对结果进行排序:
$ yum list docker-ce --showduplicates | sort -r
。 - 通过完整的软件包名称安装特定版本,完整的软件包名称是软件包名称(
docker-ce
)加上版本字符串(上图第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-19.03.13
:
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
。
启动Docker
$ sudo systemctl start docker
通过运行hello-world image
来验证是否正确安装了Docker Engine
:
$ sudo docker run hello-world
此命令会下载image
并在容器中运行它。容器运行时,它会打印消息并退出。
这样就说明安装成功了。
成功安装Docker19.03.13
。