Ubuntu 安裝Docker CE
阿新 • • 發佈:2020-09-10
Ubuntu 安裝Docker CE
準備工作
- 系統要求
- ununtu 16.04 LTS
- 解除安裝舊版本
如果安裝有舊版本的docker(舊版本的 Docker 稱為
docker
或者docker-engine
) ,先解除安裝它
$ sudo apt-get remove docker docker-engine docker.io containerd runc
1. 安裝
1.1 使用apt
安裝
由於
apt
源使用 HTTPS 以確保軟體下載過程中不被篡改。因此,我們首先需要新增使用 HTTPS 傳輸的軟體包以及 CA 證書
$ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
為了確認所下載軟體包的合法性,需要新增軟體源的 GPG 金鑰。
鑑於國內網路問題,建議使用國內源,註釋部分是官方源
# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 中科大的源
$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
下面新增 docker 軟體源
# $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
以上命令會新增穩定版本的 Docker CE APT 映象源,如果需要測試或每日構建版本的 Docker CE 請將 stable 改為 test 或者 nightly。
更新 apt 軟體包快取,並安裝
docker-ce
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
注:也可以指定版本安裝
# $ apt-cache madison docker-ce
# $ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
$ sudo docker run hello-world
1.2 手動安裝
# https://download.docker.com/linux/ubuntu/dists/ 在這裡選擇下載安裝包
$ sudo dpkg -i /path/to/package.deb
1.3 使用指令碼自動安裝
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
# $ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud
1.4 測試安裝成功
2 使用非root
使用者管理 docker
2.1 建立 docker 使用者組
現在安裝完成,會自動建立docker 使用者組
# $ sudo groupadd docker
# 將當前使用者新增到 docker 組
$ sudo usermod -aG docker $USER
重新登入,進行測試
$ newgrp docker
$ docker run hello-world
如果遇到以下錯誤提示:
WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied
兩個方法解決:
- 把 使用者目錄下的
.docker
資料夾刪除- 使用下面的命令修復
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "$HOME/.docker" -R
3 配置docker 自啟
$ sudo systemctl enable docker
# 取消自啟
$ sudo systemctl disable docker
4 配置映象加速
前面看到了我們使用映象時,映象拉取特別慢,有些甚至無法獲取。這時候我們可以配置映象加速。
國內一些雲服務商提供了國內的映象加速服務
如:
4.1 配置
- 新的版本修改配置檔案
/etc/docker/daemon.json
:
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com",
"https://ktrsh7na.mirror.aliyuncs.com"
]
}
- 老版教程 編輯
/etc/systemd/system/multi-user.target.wants/docker.service
檔案
# 找到 ExecStart= 追加 --registry-mirror=https://ktrsh7na.mirror.aliyuncs.com
注意: 上面提到的兩種方法,只能使用一種,不能同時修改
然後重啟docker服務
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
下面檢查加速器是否生效
$ docker info
4.2 應用
國內無法直接獲取
gcr.io/*
映象,我們可以將gcr.io//:
替換為gcr.azk8s.cn//:
# $ docker pull gcr.io/google_containers/hyperkube-amd64:v1.9.2
$ docker pull gcr.azk8s.cn/google_containers/hyperkube-amd64:v1.9.2
5 解除安裝docker
$ sudo apt-get purge docker-ce
# 上面命令不會自動刪除 主機上的映象、容器、卷或自定義配置檔案。 刪除所有映象、容器和卷
$ sudo rm -rf /var/lib/docker