Ubuntu18.04 安裝及使用Docker(安裝常見報錯及Docker常用命令)

  • 採用以下安裝方式首先要保證Ubuntu服務器能夠訪問Docker倉庫地址:https://download.docker.com/linux/ubuntu
  • 如果能夠訪問,按照下面的操作步驟進行安裝

1 sudo apt-get update 更新apt索引

但是可能會報錯No module named ‘apt_pkg’
python 版本升級後會出現報錯: No module named ‘apt_pkg’ No module named ‘pip._internal’

  1. 解決No module named ‘apt_pkg’
    • sudo apt-get remove python3-apt 移除
    • sudo apt-get install python3-apt 重新安裝
  2. 解決No module named ‘pip._internal’
    • curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    • python3 get-pip.py --force-reinstallCollecting pip
  • 但是還是可能會出現網絡連接失敗問題,此時我們需要修改固定DNS地址:
    • 使用過Ubuntu18.04的朋友們應該會遇到域名無法解析的問題,這個時候要設置dns,
    • 但是比較噁心的是,18版本不能簡單地修改/etc/resolv.conf,因爲一旦重啓,就恢復默認值了。
    • 也不能修改 /etc/resolvconf/resolv.conf.d/base,因爲無法保存修改。
      先打開配置文件:
      sudo vi /etc/systemd/resolved.conf
      然後去掉DNS前面的註釋,然後ins插入內容,插入國內萬能dns 114.114.114.114
      後面空格後可以添加很多DNS,8.8.8.8是谷歌的DNS
      DNS=114.114.114.114 8.8.8.8
      添加完成後,按ESC,然後按:
      然後輸入wq保存並退出
      在這裏插入圖片描述
      參考博文:https://blog.csdn.net/qq_38491310/article/details/86494635?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

上面問題解決後:sudo apt-get update 更新一次
在這裏插入圖片描述

2 安裝以下包以使apt可以通過HTTPS使用存儲庫(repository)

sudo apt install apt-transport-https ca-certificates curl software-properties-common

3 添加Docker官方的GPG密鑰:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

查看密鑰是否添加成功:

sudo apt-key fingerprint 0EBFCD88

上述命令執行結果成功如下:
在這裏插入圖片描述

4 安裝穩定存儲庫,即添加官方的Docker倉庫地址:https://download.docker.com/linux/ubuntu

有兩種方法:
方法1:終端執行以下命令,可能會報錯No module named ‘apt_pkg’,就使用方法2

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

方法2:
修改配置文件,文件中添加下面內容,然後退出保存

sudo vi /etc/apt/sources.list.d/docker.list
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable

在這裏插入圖片描述

5 執行:sudo apt-get update 再次更新一下apt索引,更新結束後既可以開始安裝了

安裝命令

sudo apt install docker-ce docker-ce-cli containerd.io

安裝全部模塊,等待下載安裝結束,containerd.io下載速度稍慢,需要等待一下
在這裏插入圖片描述
安裝完成 檢驗是否安裝成功:
docker version:顯示docker版本詳細信息
docker --version 顯示版本簡要信息
docker run hello-world:運行下hello-world檢驗下是否運行成功
注意:上面命令都是在超級管理員模式下(普通模式直接運行會報錯),如果不是超級管理員下需要加上sudo,超級管理員有個#符號
本地鏡像沒有需要網絡獲取,需要幾秒等待,
出現Hello from Docker 就說明安裝成功
在這裏插入圖片描述

6 Docker常用命令

啓動docker容器
sudo service docker start

以下命令啓動docker服務,需要輸入密碼
systemctl start docker.service
然後查看docker服務狀態
systemctl status docker.service
在這裏插入圖片描述

停止docker容器
sudo service docker stop

重啓docker
sudo service docker restart

列出Docker CLI命令
docker
docker container --help

顯示Docker版本和信息
docker --version
docker version
docker info

Execute Docker image
docker run hello-world (要在超級管理員模式下運行或者加上sudo docker run hello-world 不然會報錯)
在這裏插入圖片描述

列出鏡像列表(注意下面的s前面是小寫的L)
docker images
docker image ls

列出docker容器 (running, all, all in quiet mode)
docker container ls
docker container ls --all
docker container ls -aq

補充:
systemctl命令是系統服務管理器指令,它是 service 和 chkconfig 兩個命令組合。
啓動docker服務:systemctl start docker
停止docker服務:systemctl stop docker
重啓docker服務:systemctl restart docker
查看docker服務狀態:systemctl status docker
開機啓動:systemctl enable docker
查看docker概要信息:docker info
systemctl命令是服務器層

systemctl start docker 和 service docker start分別是啓動服務和啓動容器

7 Docker啓動失敗的解決方法

有時候Docker啓動會失敗,查詢多種方法都解決不了,可以完全卸載後重新安裝(後面發現啓動失敗是網絡問題,不用卸載)
在這裏插入圖片描述
上圖可以看見提示裏面Get一個網址失敗了,起始就是源的問題

  • Docker卸載步驟:

  • 終端執行命令查看已經安裝的docker軟件包信息:dpkg -l | grep docker

  • 執行卸載命令卸載所有安裝包:

    • sudo apt autoremove docker-ce
    • sudo apt autoremove docker-ce-cli
  • 再次更新一下apt索引:sudo apt-get update

  • 執行安裝命令:sudo apt install docker-ce docker-ce-cli containerd.io

  • 後面發現可能是網絡問題,docker原始鏡像是在國外,可以修改源地址,不用上面的卸載重新安裝步驟

    • 打開新建一個文件 sudo vi /etc/docker/daemon.json

    • 然後輸入以下內容,直接複製,更換源

      {
      “registry-mirrors”: [“https://registry.docker-cn.com”]
      }

    • 先按:,然後輸入wq退出保存

    • 此時,再次啓動

以下截圖是卸載後重新安裝步驟截圖:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

8 安裝docker-compose

  • docker-compose是一個集羣管理方式,可以利用名爲docker-compose.yml的yaml文件來定義需要啓動的容器,可以是單個,也可以(通常)是多個的。
  • 安裝 docker-compose 其實比較簡單,在安裝了 pip 的情況下(Python 3),windows執行以下命令:
    • pip install docker-compose
  • Ubuntu中: sudo apt-get install docker-compose 如果直接執行sudo pip install docker-compos出現超時報錯
    在這裏插入圖片描述
  • 安裝好 docker-compose 後,docker-compose --version查看版本信息,有信息就是安裝成功

9 添加當前用戶到docker,並添加超級管理員權限

sudo groupadd docker #超級用戶權限添加docker用戶組
sudo gpasswd -a $XXX docker #檢測當前用戶是否已經在docker用戶組中,其中XXX爲用戶名,例如我的,felix
sudo gpasswd -a $USER docker #將當前用戶添加至docker用戶組
newgrp docker #更新docker用戶組

docker有了sudo權限,當前用戶又添加到了docker用戶組中,當前用戶就可以以超級權限執行docker命令,sudo docker xxx 可以直接寫成docker xxx 執行命令

在這裏插入圖片描述

參考博文:

Ubuntu18.04 安裝Docker
ubuntu18.04安裝docker最新版
Ubuntu18.04安裝Docker

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