一文搞懂Docker與Docker Engine的安裝

環境介紹:

CentOS 7.5
CentOS-extras庫必須啓用
Docker 19.03.8

啓用centos-extras庫:

[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo
...
[extras]         //extras模塊
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
enabled=1  //調整爲1表示打開
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

 編輯把 “0” 修改爲 “1” ,沒有enabled=0或1,建議添加 enabled=1 啓動 extras 軟件模塊倉庫

卸載舊版本:

[root@localhost ~]# yum remove docker \
                               docker-client \
                               docker-client-latest \
                               docker-common \
                               docker-latest \
                               docker-latest-logrotate \
                               docker-logrotate \
                               docker-engine

安裝方法:

您可以根據需要以不同的方式安裝Docker Engine:

  • 大多數用戶會 設置Docker的存儲庫並從中進行安裝,以簡化安裝和升級任務。這是推薦的方法。

  • 一些用戶下載並手動安裝 RPM軟件包, 並完全手動管理升級。這在諸如在無法訪問互聯網的空白系統上安裝Docker的情況下很有用。

  • 在測試和開發環境中,一些用戶選擇使用自動 便利腳本來安裝Docker。

1.使用Docker倉庫安裝:

 在新主機上首次安裝Docker Engine之前,需要設置Docker存儲庫。之後,您可以從存儲庫安裝和更新Docker。

設置存儲庫

 安裝yum-utils軟件包(提供yum-config-manager 實用程序)並設置穩定的存儲庫。

[root@localhost ~]# yum install -y yum-utils  device-mapper-persistent-data  lvm2

[root@localhost ~]# yum-config-manager --add-repo \
      https://download.docker.com/linux/centos/docker-ce.repo     //設置docker倉庫

安裝Docker Engine-Community:

1.安裝最新版本的Docker Engine和容器,或轉到下一步以安裝特定版本:

[root@localhost ~]# yum install docker-ce docker-ce-cli containerd.io

 如果提示您接受GPG密鑰,請驗證指紋是否匹配 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果是,則接受它。

 如果您啓用了多個Docker存儲庫,則在未在yum install 或 yum update命令中指定版本的情況下進行安裝或更新,將始終安裝可能的最高版本。

2.要安裝特定版本的Docker Engine,請在存儲庫中列出可用版本,然後選擇並安裝:

[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
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
docker-ce.x86_64            17.12.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.1.ce-1.el7.centos             docker-ce-stable
docker-ce.x86_64            17.06.0.ce-1.el7.centos                    

 返回的列表取決於啓用了哪些存儲庫,並且特定於您的CentOS版本(.el7在本示例中以後綴表示)。

 通過其完全合格的軟件包名稱安裝特定版本,該軟件包名稱是軟件包名稱(docker-ce)加上版本字符串(第二列),從第一個冒號(:)到第一個連字符,以連字符(-)分隔。例如:docker-ce-18.03.1

3.啓動Docker

[root@localhost ~]# systemctl start docker

4.通過運行hello-world 映像來驗證是否正確安裝了Docker Engine

[root@localhost ~]# docker run hello-world
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://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

2.從RPM包安裝:

下載:
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

[root@localhost ~]# yum install -y docker-ce-19.03.8-3.el7.x86_64.rpm

[root@localhost ~]# systemctl start docker

[root@localhost ~]# docker run hello-world

3.便利腳本來安裝Docker:

#!/bin/bash
# 移除掉舊的版本
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

# 刪除所有舊的數據
sudo rm -rf /var/lib/docker

#  安裝依賴包
sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

# 添加源,使用了阿里雲鏡像
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 配置緩存
sudo yum makecache fast

# 安裝最新穩定版本的docker
sudo yum install -y docker-ce

# 配置阿里雲鏡像加速器 ----》(需要根據自己阿里雲賬戶的加速地址改一下)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
 "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF

# 啓動docker引擎並設置開機啓動
sudo systemctl start docker
sudo systemctl enable docker

# 配置當前用戶對docker的執行權限
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker

注意:

 國內訪問docker太慢,一般會配置加速器,此處配置的加速器是阿里雲的加速器也可以配置其他的加速器(如:163)。

 ---->配置阿里雲Docker 鏡像加速器詳解 :查看

卸載Docker:

1.卸載Docker Engine,CLI和Containerd軟件包:

[root@localhost ~]# yum remove docker-ce docker-ce-cli containerd.io

2.主機上的映像,容器,卷或自定義配置文件不會自動刪除。要刪除所有圖像,容器和卷:

[root@localhost ~]# rm -rf /var/lib/docker

 必須手動刪除所有已編輯的配置文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章