CentOs7 安裝docker

1. 系統要求linux

Docker CE 支持 64 位版本 CentOS 7,而且要求內核版本不低於 3.10。 CentOS 7 知足最低內核的要求,但因爲內核版本比較低,部分功能(如 overlay2 存儲層驅動)沒法使用,而且部分功能可能不太穩定。docker

2. 卸載舊版本ubuntu

舊版本的 Docker 稱爲 docker 或者 docker-engine,使用如下命令卸載舊版本:centos

$ sudo yum remove docker \
           docker-common \
           docker-selinux \
           docker-engine

3. 使用 yum源安裝緩存

執行如下命令安裝依賴包:安全

$ sudo yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2

鑑於國內網絡問題,強烈建議使用國內源,官方源請在註釋中查看。bash

執行下面的命令添加 yum 軟件源:網絡

$ sudo yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo


# 官方源
# $ sudo yum-config-manager \
#     --add-repo \
#     https://download.docker.com/linux/centos/docker-ce.repo

若是須要最新版本的 Docker CE 請使用如下命令:app

$ sudo yum-config-manager --enable docker-ce-edge

若是須要測試版本的 Docker CE 請使用如下命令:dom

$ sudo yum-config-manager --enable docker-ce-test

安裝 Docker CE

更新 yum 軟件源緩存,並安裝 docker-ce

$ sudo yum makecache fast
$ sudo yum install docker-ce

使用腳本自動安裝

在測試或開發環境中 Docker 官方爲了簡化安裝流程,提供了一套便捷的安裝腳本,CentOS 系統上可使用這套腳本安裝:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

執行這個命令後,腳本就會自動的將一切準備工做作好,而且把 Docker CE 的 Edge 版本安裝在系統中。

啓動 Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker

創建 docker 用戶組

默認狀況下,docker 命令會使用 Unix socket 與 Docker 引擎通信。而只有 root 用戶和 docker 組的用戶才能夠訪問 Docker 引擎的 Unix socket。出於安全考慮,通常 Linux 系統上不會直接使用 root 用戶。所以,更好地作法是將須要使用 docker 的用戶加入 docker 用戶組。

創建 docker 組:

$ sudo groupadd docker

將當前用戶加入 docker 組:

$ sudo usermod -aG docker $USER

退出當前終端並從新登陸,進行以下測試。

測試 Docker 是否安裝正確

$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete
Digest: sha256:be0cd392e45be79ffeffa6b05338b98ebb16c87b255f48e297ec7f98e123905c
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

若能正常輸出以上信息,則說明安裝成功。

鏡像加速

鑑於國內網絡問題,後續拉取 Docker 鏡像十分緩慢,強烈建議安裝 Docker 以後配置 國內鏡像加速

添加內核參數

默認配置下,若是在 CentOS 使用 Docker CE 看到下面的這些警告信息:

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

請添加內核配置參數以啓用這些功能。

$ sudo tee -a /etc/sysctl.conf <<-EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

而後從新加載 sysctl.conf 便可

$ sudo sysctl -p

 

相關文章
相關標籤/搜索