Deepin 下安裝 Docker

Docker官網上並無提供關於 Deepin 的 Docker 安裝教程,因爲 Deepin 是基於 Debian 的,因此能夠參照官網 Debian的安裝教程安裝,但 Deepin 在定製過程當中進行了大量修改,因此使用官方教程可能會失敗,因此這裏記錄下 Deepin 下的 Docker 安裝。php

一.認識 Docker

簡介:Docker 是一個開源的應用容器引擎,提供了一種可以讓應用程序相互隔離地、安全地運行在容器中的方法且其包含了應用程序運行所需的全部運行環境。python

更具體的信息能夠查看 Docker 官方文檔linux

如下相關信息參考來自深度官網docker

二. 關於 Deepin 中的 Docker

深度官方 Deepin 的應用倉庫已經集成了docker,但不是相似於 docker-ce 這樣的最新版本。要想使用最新版能夠參考官網 debian 安裝教程安裝,不過因爲深度 Deepin 15.4 基於 sid 版本開發,經過 $(lsb_release -cs) 獲取的版本信息爲 unstable,而 docker 官方源並沒提供 sid 這種 unstable 版本的 docker,因此使用官方教程是安裝不成功的。shell

這裏能夠看出獲取的版本信息爲 unstable ,下圖爲博主安裝的 Docker CE 版本,博主系統爲 Deepin 15.5json

三. 在 Deepin 中安裝最新的 Docker

1.若是之前安裝過老版本,能夠先卸載之前版本安全

sudo apt-get remove docker docker-engine網絡

2.安裝 docker-ce 和密鑰管理以及下載相關的工curl

說明: 這裏主要是提供 curl命令、提供add-apt-repository工具的software-properties-common包 和密鑰管理工具。socket

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

3.下載並安裝密鑰

注意: 密鑰可否安裝成功與網絡環境相關,請選擇合適的時間短安裝,若是安裝失敗,請繼續執行這一步。

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

4.查看密鑰是否安裝成功

9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 經過搜索指紋的最後8個字符,確認您如今擁有指紋的密鑰 。

sudo apt-key fingerprint 0EBFCD88

若是安裝成功,會出現以下內容:

pub   4096R/0EBFCD88 2017-02-22
      Key fingerprint = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22

呃,好像跟官方說的不太同樣呢!不過不影響

5.添加 docker 官方倉庫

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian wheezy stable"

Note: 這點很奇怪,官方在wheezy 位置使用的是 $(lsb_release -cs),而在 deepin下執行lsb_release -cs 這個命令時,deepin 顯示的是 unstable,而默認 debian 根據正式發行版本會顯示是jessie或者wheezy的。這個若是不更改爲特定版本信息,在 sudo apt-get update 更新時就不起做用。 更正: 之因此獲取的 unstable 不成功,是由於 docker 官方沒有提供 sid 版本的docker。想安裝必須將該部分替換成相應版本。

Note:這裏例子的 debian 的版本代號是wheezy,應該替換成 deepin 基於的 debian 版本對應的代號,查看版本號命令:cat /etc/debian_version,再根據版本號對應的代號替換上面命令的 wheezy便可。 更正: 按上面的方法操做,例如我操做上面的命令獲得 debain 版本是 8.0 ,修改後填入到上面命令中發現,是沒法安裝 docker 的,但把 8.0 換成 wheezy ,則能夠正常安裝 docker ,當前 docker 的版本爲17.12.0-ce。

這裏,叨叨絮絮那麼多。本人系統 Deepin 15.5,安裝時直接運行了以上命令而沒有進行任何修改,仍然正常運行與安裝。查看如下圖。

成功添加 docker 官方倉庫

6.更新倉庫

sudo apt-get update

7.安裝 docker-ce

Note:因爲網絡不穩定,可能會下載失敗。若是下載失敗了,能夠多試幾回或者找個合適的時間繼續。

sudo apt-get install docker-ce

8.啓動 docker-ce

systemctl start docker

Note:在安裝完後啓動報錯,查看 docker.service 的 unit文件,路徑爲 /lib/systemd/system/docker.service,把 ExecStart=/usr/bin/dockerd -H fd:// 修改成ExecStart=/usr/bin/dockerd,則能夠正常啓動 docker 。

啓動 Docker

這裏在啓動的時候並無遇到如上問題,查看下圖

9.查看安裝的版本信息

docker version

好的,如你所見這裏出現了小小的 bug,出現 deny 信息。查看下一步解決。

10.設置 docker 非 root 用戶

如安裝的流程可知,一路上都是以sudo 超級用戶進行的配置。那麼,在普通用戶登入的狀況下可能會出現如下錯誤信息

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.35/version: dial unix /var/run/docker.sock: connect: permission denied

查看一下是否有 docker 用戶組

cat /etc/group | grep docker

如圖,圖中已顯示存在相應用戶組

若是沒有,能夠經過如下命令建立

sudo groupadd -g 999 docker

將當前用戶加入用戶組

sudo gpasswd -a ${USER} docker

查看 docker.sock 文件權限

cd /var/run
ll | grep docker.

能夠看到其屬主爲 root,權限爲 rw,可讀可寫;其屬組爲 docker,權限爲 rw,可讀可寫。若是要當前用戶可直接讀取該文件,那麼就把當前用戶添加到 docker 屬組便可。上面已經說明。

修改 docker.sock 的權限

sudo chmod a+rw /var/run/docker.sock

能夠經過此命令設置文件權限

設置非 root 用戶運行已經不報錯誤信息

11.驗證docker是否被正確安裝而且可以正常使用

sudo docker run hello-world

如圖,已經成功安裝

四. 更換國內docker加速器

若是使用docker官方倉庫,速度會很慢,因此更換國內加速器就不可避免了。

方式一:使用阿里雲的docker加速器。

1.在阿里雲申請一個帳號 打開鏈接 https://cr.console.aliyun.com/#/accelerator 拷貝您的專屬加速器地址。

2.修改修改 daemon 配置文件 /etc/docker/daemon.json 來使用加速器(下面是4個命令,分別單獨執行)

注意: 這裏的 https://jxus37ad.mirror.aliyuncs.com 是申請者的加速器地址,在此僅僅用於演示,而使用者要個根據本身的使用的狀況填寫本身申請的加速器地址。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://jxus37ad.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

方式二:使用 docker-cn 提供的鏡像源

1.編輯 /etc/docker/daemon.json 文件,並輸入docker-cn 鏡像源地址

sudo nano /etc/docker/daemon.json

輸入如下內容

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

快捷鍵 ctrl+x 退出,Y 肯定保存並退出。

2.重啓docker服務

sudo service docker restart

五. 禁止開機自啓

默認狀況下 Docker 是開機自啓的,若是咱們想禁用開機自啓,能夠經過安裝 chkconfig 命令來管理 Deepin 自啓項。

# 安裝chkconfig
sudo apt-get install chkconfig

# 移除自啓
sudo chkconfig --del docker

六.更多相關信息

相關文章
相關標籤/搜索