本文档以实战的形式介绍 Docker 的安装过程,使用的系统是 CentOS7

1 安装 Docker

如果有的话,卸载旧的Docker,否则可能会不兼容

[root@Docker ]# yum remove -y docker docker-io docker-selinux python-docer-py 

安装 Docker-CE社区版本

[root@Docker ]# yum -y install docker-ce 

启动 Docker

[root@Docker  ]# systemctl start docker
[root@Docker  ]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@Docker  ]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-30 13:17:47 EDT; 16s ago
     Docs: https://docs.docker.com
 Main PID: 12932 (dockerd)
   CGroup: /system.slice/docker.service
           └─12932 /usr/bin/dockerd -H fd:// --containerd=/run/contain...

Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker dockerd[12932 ]: time="2020-0...
Mar 30 13:17:47 Docker systemd[1 ]: Started Docker A...
Hint: Some lines were ellipsized, use -l to show in full.

[root@Docker  ]# 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 

2 指定docker 镜像加速器 (很重要,不然后期从国外下载docker镜像会直接报错,而且速度慢)

国内docker仓库加速站点

https://registry.docker-cn.com
http://hub-mirror.c.163.com
https://3laho3y3.mirror.aliyuncs.com
http://f1361db2.m.daocloud.io
https://mirror.ccs.tencentyun.com
https://docker.mirrors.ustc.edu.cn 
http://dockerhub.azk8s.cn/ 

配置加速节点

[root@Docker ]# vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://registry.docker-cn.com" ]  
} 

注意不可见字符!
注:如果需要使用自己的本地私有仓库,写成如下:

{
  "registry-mirrors": ["https://e9yneuymirror.aliyuncs.com" ]  
  "insecure-registries": ["192.168.10.7:4000" ]
} 

另外的参考配置:

{
  "insecure-registries": ["0.0.0.0/0" ],
  "log-opts": {
    "max-size": "20m",
    "max-file": "5"
  }
} 

3 重启相关服务

[root@Docker ]# systemctl daemon-reload 
[root@Docker ]# systemctl restart docker && systemctl status docker 

4 显示 Docker 系统信息

[root@Docker ]# docker info
Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 19.03.8
 Storage Driver: overlay2
  Backing Filesystem: 
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-957.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 7.62GiB
 Name: Docker
 ID: SZWH:KWZM:GDQA:ZRHY:PU7A:JV23:7TX3:SYUM:J3UX:ZEOR:JG44:SDHL
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  https://registry.docker-cn.com
 Live Restore Enabled: false

WARNING: IPv4 forwarding is disabled
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled 

5 测试拉取 Docker 镜像

[root@Docker ]# docker image pull centos:latest
latest: Pulling from library/centos
8a29a15cefae: Pull complete 
Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
#拉取 Docker 镜像成功
[root@Docker ]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              470671670cac        2 months ago        237MB 

总结

以上就是 Docker 的安装过程,想看 Docker 后续操作的朋友请持续关注我的文章,希望我的文章能给大家带来帮助。


刘遄
25 声望17 粉丝

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。