1. 程式人生 > >Linux安裝Docker-CE

Linux安裝Docker-CE

在這裡插入圖片描述

安裝環境介紹

  • 作業系統:CentOS7
  • Docker版本:Docker-CE最新版本

安裝Docker-CE

官方連結:https://docs.docker.com/engine/installation/

解除安裝舊版本docker:

如果存在舊版docker可以執行以下命令解除安裝,沒有則跳過。

$ 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 install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

配置Docker yum源:

這裡使用國內阿里雲Yum源:

$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

也可以配置官方yum源:

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

安裝Docker-CE:

$ yum install -y docker-ce 

檢視docker版本,確認安裝成功

$ docker --version
Docker version 18.09.0, build 4d60db4

啟動Docker服務並設為開機啟動

$ systemctl start docker && systemctl enable docker

#確認docker服務執行正常,顯示active (running)說明服務正常執行
$ systemctl status docker.service

執行hello-world映象測試

$ sudo docker run hello-world

# 提示Hello from Docker!說明正常。

docker配置檔案位置

centos7的docker預設配置檔案如下:

[[email protected] ~]# find / -name docker.service
......
/usr/lib/systemd/system/docker.service
[[email protected] ~]#

安裝Docker-CE指定版本(可選)

列出可用版本,然後選擇並安裝:

[[email protected] ~]# yum list docker-ce --showduplicates | sort -r
......
docker-ce.x86_64            3:18.09.0-3.el7                    docker-ce-stable 
docker-ce.x86_64            3:18.09.0-3.el7                    @docker-ce-stable
docker-ce.x86_64            18.06.1.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.06.0.ce-3.el7                   docker-ce-stable 
docker-ce.x86_64            18.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            18.03.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.12.1.ce-1.el7.centos            docker-ce-stable 
......
[[email protected] ~]# 

#以安裝18.06版本為例
[[email protected] ~]# yum install docker-ce-18.06.1.ce-3.el7  

如果要解除安裝docker,執行以下操作(可選)

解除安裝docker軟體包

$ sudo yum remove docker-ce

解除安裝Docker後,/var/lib/docker/目錄下會保留原Docker的映象,網路,儲存卷等檔案. 如果需要全新安裝Docker,需要刪除/var/lib/docker/目錄

$ sudo rm -rf /var/lib/docker

配置國內映象加速(可選)

鑑於國內網路問題,後續拉取 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   

阿里雲和DaoCloud 為我們提供了免費的國內映象服務,可以選擇其中一個進行配置。

在阿里雲或者daocloud.io免費註冊一個使用者,登入後,找到加速器進行配置:

配置阿里雲映象加速:

找到左側的映象加速器,按照指導進行配置即可,示例如下:

$ sudo mkdir -p /etc/docker

$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
}
EOF

$ sudo systemctl daemon-reload && systemctl restart docker   

配置daocloud映象加速:

找到右上角的小火箭圖示,按照指導進行配置即可,示例如下:

$ curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

docker安裝指令碼(可選)

將以上命令整理為安裝指令碼,方便後續一鍵安裝docker-ce。

使用方法:將以下內容儲存為.sh指令碼檔案執行即可,或者從以下連結下載並執行指令碼,

執行後將安裝最新版docker-ce並配置docker映象加速。

從github下載並執行指令碼:

# wget https://raw.githubusercontent.com/zhwill/LinuxShell/master/Install_docker-ce.sh && bash Install_docker-ce.sh

安裝指令碼內容:

#!/bin/bash
#this script is for Install the lastest version of docker-ce

#解除安裝舊版本docker
yum remove -y docker-ce
rm -rf /var/lib/docker

#安裝依賴軟體包
yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2 \
    git
    
#匯入yum源,這裡使用阿里yum源   
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安裝docker
yum install docker-ce -y

#啟動docker
systemctl start docker && systemctl enable docker

#配置映象加速

##修改核心引數
cat >> /etc/sysctl.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl -p

##配置阿里雲映象加速
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://uyah70su.mirror.aliyuncs.com"]
}
EOF

##或者配置daocloud映象加速
#curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io >> /dev/null

#重啟docker服務
systemctl daemon-reload && systemctl restart docker.service

#檢視docker版本
echo
echo "##########################Docker版本###############################"
docker --version

docker-compose工具(可選)

docker-compose負責實現對 Docker 容器叢集的快速編排,它允許使用者通過一個單獨的 docker-compose.yml 模板檔案來定義一組相關聯的應用容器為一個專案.

#安裝epel源
# yum install -y epel-release
 
#安裝docker-compose
# yum install -y docker-compose