CentOS 环境下安装Docker
系统要求
- CentOS 7
- 必须启用
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-selinux \
docker-engine-selinux \
docker-engine
如果yum
报告没有这些包就可以了。
/var/lib/docker/
这个目录包含了镜像、容器、卷和网络。现在Dcoker CE 包叫作docker-ce
。
安装Decker CE
根据自己的需求,采用不同的方式安装Docker CE:
- 大部分用户是通过设置Docker的仓库来安装的,以方便安装和升级任务。这也是推荐的方式
- 一些用户通过下载RPM包来安装并通过手动方式管理和升级,这种方式在没有Internet 的情况下安装Docker是非常有用的。
- 在测试和开发环境中,一些用户选择使用自动化的脚本安装Docker。
使用仓库方式安装Docker
在一台新主机上首次安装Docker CE之前,您需要设置Docker仓库。之后,就可以从Docker仓库中安装和升级Docker。
设置仓库
第1步:
安装需求包。yum-utils
提供了yum-config-manager
实用程序,devicemapper
驱动程序要深圳市device-mapper-persistent-data
和lvm2
是必须的。
安装命令:
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
图示:
第二步:
使用下面的命令安装稳定的仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
图示:
第三步:
这一步是可选的。
启用edge
和test
仓库。这些仓库包含在docker.repo
文件中,默认情况下是禁用的。通过以下命令启用它们:
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-edge
可以通过以下命令来禁用edge
和test
仓库:
sudo yum-config-manager --disable docker-ce-edge
安装Docker CE
安装最新版本的Docker CE
sudo yum install docker-ce
安装指定版本的Docker CE
- 列出仓库中有可用的Docker CE版本
yum list docker-ce --showduplicates | sort -r
这个命令会列出仓库中可用的版本,并按版本从高到低排序,返回的Docker CE列表取决于启用了哪些仓库及CentOS的版本。
图示:
- 安装指定版本Docker CE
命令:sudo yum install docker-ce-<VERSION STRING>
示例:安装18.03.1.ce版本
sudo yum install docker-ce-18.03.1.ce
启动Docker
sudo systemctl start docker
关闭Docker
sudo systemctl stop docker
重启Docker
sudo systemctl restart docker
查看docker版本
[root@izbp13xko46hud9vfr5s94z ~]# docker -v
Docker version 18.03.1-ce,build 9ee9f40
[root@izbp13xko46hud9vfr5s94z ~]#
查看docker版本详细信息
[root@izbp13xko46hud9vfr5s94z ~]# docker version
Client:
Version: 18.03.1-ce
API version: 1.37
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:20:16 2018
OS/Arch: linux/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.03.1-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.5
Git commit: 9ee9f40
Built: Thu Apr 26 07:23:58 2018
OS/Arch: linux/amd64
Experimental: false
[root@izbp13xko46hud9vfr5s94z ~]#
查看docker信息
[root@izbp13xko46hud9vfr5s94z ~]# docker info
Containers: 1
Running: 0
Paused: 0
Stopped: 1
Images: 1
Server Version: 18.03.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 3.10.0-693.2.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
cpus: 1
Total Memory: 1.796GiB
Name: izbp13xko46hud9vfr5s94z
ID: SA4W:XIBX:SPSW:DWGJ:BWM2:NLBE:WJRT:MIBP:OBX7:OR42:MAVY:E6HO
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
[root@izbp13xko46hud9vfr5s94z ~]#
通过运行hello-world
镜像来验证docker
是否安装成功
命令:sudo docker run hello-world
这个命令会下载一个测试镜像,并在容器中运行它。
卸载Docker CE
- 卸载Docker包
sudo yum remove docker-ce
- 删除镜像、容器、卷
sudo rm -rf /var/lib/docker