文章目錄
- 採用以下安裝方式首先要保證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’
- 解決No module named ‘apt_pkg’
- sudo apt-get remove python3-apt 移除
- sudo apt-get install python3-apt 重新安裝
- 解決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