天天看點

Linux安裝Docker的二種方法

Linux安裝Docker的二種方法

安裝docer容器

一鍵安裝指令:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun      

報錯

# Executing docker install script, commit: 4f282167c425347a931ccfd95cc91fab041d414f
+ sh -c 'yum install -y -q yum-utils'
軟體包 yum-utils-1.1.31-54.el7_8.noarch 已安裝并且是最新版本
+ sh -c 'yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo'
  File "/usr/bin/yum-config-manager", line 135
    except yum.Errors.RepoError, e:
                               ^
SyntaxError: invalid syntax      
Linux安裝Docker的二種方法

如何讓編輯器展示行數。在非編輯狀态下,輸入**:set number**,用來展示行數

Linux安裝Docker的二種方法

進入錯誤地方檢視,發現沒有問題,可能是版本最新版本的原因導緻的

遇到這個錯誤是因為我更新了Python到3,但是yum-config-manager這個檔案頭的Python沒有改成Python2,如下:

Linux安裝Docker的二種方法
vim /usr/bin/yum-config-manager      
Linux安裝Docker的二種方法
Linux安裝Docker的二種方法

改好後面,再一鍵安裝了

設定開機自啟并啟動docker

systemctl enable docker.service
systemctl start docker.service      

測試

docker --version
sudo docker run hello-world      

配置鏡像加速

Docker 從 Docker Hub 拉取鏡像,因為是從國外擷取,是以速度較慢

可以通過配置國内鏡像源的方式,從國内擷取鏡像,提高拉取速度。

建立/打開daemon.json檔案

vim /etc/docker/daemon.json      

輸入以下下内容并儲存

{
  "registry-mirrors": ["http://hub-mirror.c.163.com",
  "https://docker.mirrors.ustc.edu.cn"]
}      

重新加載配置資訊及重新開機 Docker 服務

重新加載某個服務的配置檔案

# 重新加載某個服務的配置檔案
sudo systemctl daemon-reload
# 重新啟動 docker
sudo systemctl restart docker      

重新啟動 docker

sudo systemctl restart docker      

此時pull鏡像就很快啦

下面用另外一種方式安裝docker,不用一鍵安裝了的方式了

Docker手動安裝

手動安裝Docker分三步:解除安裝、設定倉庫、安裝。

解除安裝Docker(可選)

第一步,解除安裝曆史版本。這一步是可選的,如果之前安裝過舊版本的Docker,可以使用如下指令進行解除安裝:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce      
Linux安裝Docker的二種方法

設定源倉庫

第二步,設定倉庫。新主機上首次安裝Docker Engine-Community之前,需要設定Docker倉庫。此後可從倉庫安裝和更新Docker。

在設定倉庫之前,需先按照所需的軟體包。yum-utils提供了yum-config-manager,并且device mapper存儲驅動程式需要device-mapper-persistent-data和lvm2。

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2      
Linux安裝Docker的二種方法

執行上述指令,安裝完畢即可進行倉庫的設定。使用官方源位址設定指令如下:

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

設定鏡像源倉庫的時候,發現出現報錯

File "/bin/yum-config-manager", line 135 except yum.Errors.RepoError, e:      

遇到這個錯誤是因為我更新了Python到3,但是yum-config-manager這個檔案頭的Python沒有改成Python2,如下:

Linux安裝Docker的二種方法
vim /usr/bin/yum-config-manager      
Linux安裝Docker的二種方法
Linux安裝Docker的二種方法

執行上述指令,安裝完畢即可進行倉庫的設定。使用官方源位址設定指令如下:u

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo      
Linux安裝Docker的二種方法

Docker安裝

執行一下指令,安裝最新版本的 Docker Engine-Community 和 containerd。

sudo yum install -y docker-ce docker-ce-cli containerd.io      
Linux安裝Docker的二種方法

docker-ce為社群免費版本。稍等片刻,docker即可安裝成功。但安裝完成之後的預設是未啟動的,需要進行啟動操作。

如果不需要docker-ce-cli或containerd.io可直接執行如下指令:

yum install -y docker-ce      

至此,完成Docker安裝。

Linux安裝Docker的二種方法

Docker啟動

啟動Docker的指令:

sudo systemctl start docker      
Linux安裝Docker的二種方法

通過運作hello-world鏡像來驗證是否正确安裝了Docker Engine-Community。

// 拉取鏡像
sudo docker pull hello-world
// 執行hello-world
sudo docker run hello-world      
Linux安裝Docker的二種方法

如果執行之後,控制台顯示如下資訊,則說明Docker安裝和啟動成功:

docker run hello-world      
Linux安裝Docker的二種方法

除了啟動Docker,一些其他啟動相關的指令:

守護程序重新開機:systemctl daemon-reload
重新開機Docker服務:systemctl restart docker / service docker restart
關閉Docker服務:docker service docker stop / docker systemctl stop docker      

删除Docker

删除安裝包:

yum remove docker-ce      
rm -rf /var/lib/docker