CentOS 安裝 docker 並簡單驗證

CentOS 安裝 docker 並簡單驗證

官方文檔的參考安裝手冊:

https://docs.docker.com/v18.09/install/linux/docker-ce/centos/

https://docs.docker.com/engine/install/centos/

一、docker 的版本說明

docker 有以下兩個版本:

社區版本(Community Edition,CE) ,即 docker CE 版本

企業版本(Enterprise Edition, EE) ,即 docker EE 版本

二、安裝前說明

爲了安裝 docker 引擎,必須要 CentOS 7 以及以上版本。默認 centos-extras 倉庫有比較老的 docker 的安裝版本,不過一般不推薦生產用這麼老的版本。推薦使用 overlay2 驅動引擎(至少用 CentOS 7.4以及之後的鏡像就行,經過測試不打補丁,好像 CentOS 7.0,CentOS7.1,CentOS 7.2,CentOS 7.3 等都是用的 devicemapper 模擬實現)。關於驅動部分,這一部分涉及到底層鏡像以及文件系統構建,會有專門的文檔講解。
我們這裏打算使用阿里雲的同步官方的 docker 鏡像倉庫後對開發者開放的 阿里雲自己的 docker-ce 的倉庫,並基於此倉庫直接使用 yum 安裝。先看一下 centos 自帶的 extra 倉庫的 docker 相關的包:

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)
[root@localhost ~]# yum list all docker*
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Available Packages
docker.x86_64                                                                                                      2:1.13.1-109.gitcccb291.el7.centos                                                                                 extras
docker-client.x86_64                                                                                               2:1.13.1-109.gitcccb291.el7.centos                                                                                 extras
docker-client-latest.x86_64                                                                                        1.13.1-58.git87f2fab.el7.centos                                                                                    extras
docker-common.x86_64                                                                                               2:1.13.1-109.gitcccb291.el7.centos                                                                                 extras
docker-compose.noarch                                                                                              1.18.0-4.el7                                                                                                       epel  
docker-distribution.x86_64                                                                                         2.6.2-2.git48294d9.el7                                                                                             extras
docker-latest.x86_64                                                                                               1.13.1-58.git87f2fab.el7.centos                                                                                    extras
docker-latest-logrotate.x86_64                                                                                     1.13.1-58.git87f2fab.el7.centos                                                                                    extras
docker-latest-v1.10-migrator.x86_64                                                                                1.13.1-58.git87f2fab.el7.centos                                                                                    extras
docker-logrotate.x86_64                                                                                            2:1.13.1-109.gitcccb291.el7.centos                                                                                 extras
docker-lvm-plugin.x86_64                                                                                           2:1.13.1-109.gitcccb291.el7.centos                                                                                 extras
docker-novolume-plugin.x86_64                                                                                      2:1.13.1-109.gitcccb291.el7.centos                                                                                 extras
docker-registry.x86_64                                                                                             0.9.1-7.el7                                                                                                        extras
docker-v1.10-migrator.x86_64                                                                                       2:1.13.1-109.gitcccb291.el7.centos                                                                                 extra

新版的包現在都叫 docker-ce 了,因爲一些歷史競爭原因。然後阿里雲的 docker 鏡像庫配置說明地址:

https://developer.aliyun.com/mirror/docker-ce

三、安裝配置

3.1、配置 docker-ce 的倉庫指向阿里雲

我們不按照阿里雲推薦的指令使用。我們直接去找到 repo 配置,下載到我們的服務器的對應目錄。
https://mirrors.aliyun.com/docker-ce/linux/centos/
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

cd /etc/yum.repos.d && wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
我們可以看一下 docker-ce.repo 裏面的 baseurl 是不是指向阿里雲,如果是就忽略。
建議把 CentOS 的 base 倉庫以及已經安裝的 epel 倉庫都指向阿里雲的。(這部分我們不介紹)

3.2、查看倉庫中 docker-ce 版本

[root@localhost ~]# yum list all docker-ce*
......
結果中顯示的:
docker-ce 版本是 3:19.03.8-3.el7
docker-ce-cli 版本是 1:19.03.8-3.el7

yum list docker-ce* --showduplicates | sort -r
查看實際有哪些版本的包。

3.3、安裝指定版本的包

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

這裏我們推薦生產大量使用的一個非最新的大版本。(往前推一個大版本,然後補丁版本的最新版本)
docker-ce 大版本: 18.09.9
docker-ce-cli 大版本的: 18.09.9

yum install docker-ce-18.09.9 docker-ce-cli-18.09.9

[root@localhost ~]# rpm -qa|grep docker-ce
docker-ce-cli-18.09.9-3.el7.x86_64
docker-ce-18.09.9-3.el7.x86_64

3.4、安裝包以及安裝主要文件

安裝主要有三個包:
docker-ce
docker-ce-cli
containerd.io

docker-ce(服務端的包):
/usr/bin/docker-init
/usr/bin/docker-proxy
/usr/bin/dockerd-ce
/usr/lib/systemd/system/docker.service
/usr/lib/systemd/system/docker.socket

docker-ce-cli(主要是客戶端組件相關的包,包括文檔):
/usr/bin/docker
然後就是一些 man 手冊。

containerd.io(比較底層的一些東西):
/usr/bin/runc
/usr/bin/containerd
/usr/lib/systemd/system/containerd.service

3.5、啓動 docker-ce 容器的服務端程序

[root@localhost ~]# systemctl start docker.service
[root@localhost ~]# systemctl status docker.service
[root@localhost ~]# systemctl enable docker.service #開機啓動
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

3.6、簡單查看


[root@localhost ~]# docker version
[root@localhost ~]# docker info

docker info 有歸類於 docker 的 system,所以可以這樣查看: docker system info
docker version 主要是用來查看版本信息。

docker version 輸出內容: 
[root@localhost ~]# docker version
Client:  #客戶端相關的版本信息
 Version:           18.09.9
 API version:       1.39
 Go version:        go1.11.13
 Git commit:        039a7df9ba
 Built:             Wed Sep  4 16:51:21 2019
 OS/Arch:           linux/amd64
 Experimental:      false   #是否是實驗版本

Server: Docker Engine - Community
 Engine: #服務端相關的版本信息
  Version:          18.09.9
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.13
  Git commit:       039a7df
  Built:            Wed Sep  4 16:22:32 2019
  OS/Arch:          linux/amd64
  Experimental:     false  #是否是實驗版本、
  
  docker system info 輸出信息就有點多了,涉及的東西特別廣,我這裏簡單羅列一下,不懂的可以先忽略:
  容器不同狀態的數量
  鏡像數
  服務端版本
  底層驅動
  底層文件系統
  一些加載驅動和名稱空間的情況
  插件(容器,網絡,日誌)
  是否激活 swarm
  容器實現(新版一般都是 runC)
  內核版本
  操作系統
  系統架構,內存,cpu等
  docker的根目錄(/var/lib/docker)
  還有什麼鏡像加速器,是否爲實驗版本標識,License等

docker system info 的一份參考輸出:

[root@localhost ~]# docker system info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.09.9
Storage Driver: overlay2
 Backing Filesystem: xfs
 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 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-1062.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.934GiB
Name: localhost.localdomain
ID: QMRY:YZZV:3G75:QNV4:D7FW:6VPT:Z5GM:2LVF:LTVC:J37D:QWRU:TVJ6
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
Product License: Community Engine
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章