天天看點

Linux安裝Docker CEUbuntu 安裝 Docker CE

之前寫過一篇安裝部落格,現在修正一些錯誤并加入centos7安裝docker方式

Ubuntu 安裝 Docker CE

警告:切勿在沒有配置 Docker APT 源的情況下直接使用 apt 指令安裝 Docker.

系統要求

Docker CE 支援以下版本的 Ubuntu 作業系統:

  • Bionic 18.04 (LTS)
  • Xenial 16.04 (LTS)
  • Trusty 14.04 (LTS) (Docker CE v18.06 及以下版本)

Docker CE 可以安裝在 64 位的 x86 平台或 ARM 平台上。Ubuntu 發行版中,LTS(Long-Term-Support)長期支援版本,會獲得 5 年的更新維護支援,這樣的版本會更穩定,是以在生産環境中推薦使用 LTS 版本。

解除安裝舊版本

舊版本的 Docker 稱為**

docker

或者

docker-engine

**,使用以下指令解除安裝舊版本:

$ sudo apt-get remove docker \
               docker-engine \
               docker.io
           

Ubuntu 14.04 可選核心子產品

從 Ubuntu 14.04 開始,一部分核心子產品移到了可選核心子產品包 (

linux-image-extra-*

) ,以減少核心軟體包的體積。正常安裝的系統應該會包含可選核心子產品包,而一些裁剪後的系統可能會将其精簡掉。

AUFS

核心驅動屬于可選核心子產品的一部分,作為推薦的 Docker 存儲層驅動,一般建議安裝可選核心子產品包以使用

AUFS

如果系統沒有安裝可選核心子產品的話,可以執行下面的指令來安裝可選核心子產品包:

$ sudo apt-get update

$ sudo apt-get install \
    linux-image-extra-$(uname -r) \
    linux-image-extra-virtual
           

Ubuntu 16.04 +

Ubuntu 16.04 + 上的 Docker CE 預設使用 overlay2 存儲層驅動,無需手動配置。

使用 APT 安裝

由于**

apt

**源使用 HTTPS 以確定軟體下載下傳過程中不被篡改。是以,我們首先需要添加使用 HTTPS 傳輸的軟體包以及 CA 證書。

$ sudo apt-get update

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

鑒于國内網絡問題,強烈建議使用國内源,官方源請在注釋中檢視。

為了确認所下載下傳軟體包的合法性,需要添加軟體源的**

GPG

**密鑰。

$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -


# 官方源
# $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
           

然後,我們需要向**

source.list

**中添加 Docker 軟體源

$ sudo add-apt-repository \
    "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
    $(lsb_release -cs) \
    stable"


# 官方源
# $ sudo add-apt-repository \
#    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
#    $(lsb_release -cs) \
#    stable"
           
以上指令會添加穩定版本的 Docker CE APT 鏡像源,如果需要測試或每日建構版本的 Docker CE 請将 stable 改為 test 或者 nightly。

安裝 Docker CE

更新 apt 軟體包緩存,并安裝**

docker-ce

**:

$ sudo apt-get update

$ sudo apt-get install docker-ce
           

使用腳本自動安裝

在測試或開發環境中 Docker 官方為了簡化安裝流程,提供了一套便捷的安裝腳本,Ubuntu 系統上可以使用這套腳本安裝:

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
           

執行這個指令後,腳本就會自動的将一切準備工作做好,并且把 Docker CE 的 Edge 版本安裝在系統中。

centos7安裝Docker CE

  • 官方文檔https://docs.docker.com/install/linux/docker-ce/centos/

系統要求

1、安裝Docker CE,需要一個維護版本的Centos7

2、centos-extras庫必須啟用,這個存儲庫預設啟用,但是如果您禁用了它,您需要重新啟用它(https://wiki.centos.org/AdditionalResources/Repositories)

解除安裝舊版本

yum remove docker docker-common docker-selinux
           

安裝Docker CE

  1. 使用倉庫安裝
  • 安裝需要的依賴包
yum install -y yum-utils device-mapper-persistent-data
           
  • 配置穩定倉庫
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
           
  • 安裝
yum install docker-ce
           
  • 安裝指定版本的Docker
[[email protected] ~]# yum list docker-ce --showduplicates | sort -r
 * updates: mirrors.aliyun.com
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror
Installed Packages
 * extras: mirrors.aliyun.com
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.09.0.ce-1.el7.centos            @docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable 
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable 
 * base: mirrors.aliyun.com
Available Packages

[[email protected] ~]# yum install docker-ce-17.06.0.ce-1.el7.centos.x86_64
           
  1. 使用rpm包安裝docker
  • 穩定版下載下傳位址:

    https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

  • 安裝
yum install -y /path/to/package.rpm
           
  • 啟動
systemctl start docker
           
  • 版本更新
yum -y upgrade  /path/to/package.rpm
           
  1. 使用已有腳本安裝
curl -fsSL get.docker.com -o get-docker.sh
sh get-docker.sh
           
  1. 配置Docker開機自啟動
systemctl enable docker
           

啟動 Docker CE

$ sudo systemctl enable docker
$ sudo systemctl start docker
           

Ubuntu 14.04 請使用以下指令啟動:

$ sudo service docker start
           

解除安裝Docker

  • 解除安裝docker-ce
yum remove docker-ce
           
  • 在您的主機上的鏡像、容器、卷或自定義配置檔案不會自動删除,要删除所有圖像、容器和卷:
rm -rf /var/lib/docker
           

建立 docker 使用者組

預設情況下,**

docker

指令會使用 Unix socket 與 Docker 引擎通訊。而隻有

root

使用者和

docker

組的使用者才可以通路 Docker 引擎的 Unix socket。出于安全考慮,一般 Linux 系統上不會直接使用

root

使用者。是以,更好地做法是将需要使用

docker

的使用者加入

docker

**使用者組。

建立**

docker

**組:

$ sudo groupadd docker
           

将目前使用者加入**

docker

**組:

$ sudo usermod -aG docker $USER
           

退出目前終端并重新登入,進行如下測試。

測試 Docker 是否安裝正确

$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
d1725b59e92d: Pull complete
Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
           

若能正常輸出以上資訊,則說明安裝成功。

** 參考 ** Docker 官方 Ubuntu 安裝文檔

鏡像加速

如果在使用過程中發現拉取 Docker 鏡像十分緩慢,可以配置 Docker 國内鏡像加速。

國内從 Docker Hub 拉取鏡像有時會遇到困難,此時可以配置鏡像加速器。Docker 官方和國内很多雲服務商都提供了國内加速器服務,例如:

  • Docker 官方提供的中國 registry mirror

    https://registry.docker-cn.com

  • 阿裡雲加速器(需登入賬号擷取)
  • 七牛雲加速器

    https://reg-mirror.qiniu.com/

當配置某一個加速器位址之後,若發現拉取不到鏡像,請切換到另一個加速器位址。

國内各大雲服務商均提供了 Docker 鏡像加速服務,建議根據運作 Docker 的雲平台選擇對應的鏡像加速服務。

我們以 Docker 官方加速器

https://registry.docker-cn.com

為例進行介紹。

Ubuntu 14.04、Debian 7 Wheezy

對于使用

upstart

的系統而言,編輯

/etc/default/docker

檔案,在其中的

DOCKER_OPTS

中配置加速器位址:

DOCKER_OPTS="--registry-mirror=https://registry.docker-cn.com"
           

重新啟動服務。

$ sudo service docker restart
           

Ubuntu 16.04+、Debian 8+、CentOS 7

對于使用 systemd 的系統,請在

/etc/docker/daemon.json

中寫入如下内容(如果檔案不存在請建立該檔案)

{
  "registry-mirrors": [
    "https://registry.docker-cn.com"
  ]
}
           
注意,一定要保證該檔案符合 json 規範,否則 Docker 将不能啟動。

之後重新啟動服務。

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
           
注意:如果您之前檢視舊教程,修改了 docker.service 檔案内容,請去掉您添加的内容(–registry-mirror=https://registry.docker-cn.com),這裡不再贅述。

Windows 10

對于使用 Windows 10 的系統,在系統右下角托盤 Docker 圖示内右鍵菜單選擇

Settings

,打開配置視窗後左側導航菜單選擇

Daemon

。在

Registry mirrors

一欄中填寫加速器位址

https://registry.docker-cn.com

,之後點選

Apply

儲存後 Docker 就會重新開機并應用配置的鏡像位址了。

macOS

對于使用 macOS 的使用者,在工作列點選 Docker for mac 應用圖示 -> Perferences… -> Daemon -> Registry mirrors。在清單中填寫加速器位址

https://registry.docker-cn.com

。修改完成之後,點選

Apply & Restart

按鈕,Docker 就會重新開機并應用配置的鏡像位址了。

檢查加速器是否生效

指令行執行

docker info

,如果從結果中看到了如下内容,說明配置成功。

Registry Mirrors:
 https://registry.docker-cn.com/