Docker - 在Ubuntu16.04中安裝Docker CE


Get Docker for Ubuntu

Check system version

root@Ubuntu16:~# uname -a
Linux Ubuntu16 4.8.0-36-generic #36~16.04.1-Ubuntu SMP Sun Feb 5 09:39:57 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
root@Ubuntu16:~# 
root@Ubuntu16:~# cat /proc/version
Linux version 4.8.0-36-generic (buildd@lgw01-18) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #36~16.04.1-Ubuntu SMP Sun Feb 5 09:39:57 UTC 2017
root@Ubuntu16:~# lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.2 LTS
Release:	16.04
Codename:	xenial
root@Ubuntu16:~# 

1 - Install packages to allow apt to use a repository over HTTPS

root@Ubuntu16:~# apt-get install \
>     apt-transport-https \
>     ca-certificates \
>     curl \
>     software-properties-common
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關系樹       
正在讀取狀態信息... 完成       
......
......
......
root@Ubuntu16:~#

2 - Add Docker’s official GPG key

root@Ubuntu16:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
root@Ubuntu16:~# 
root@Ubuntu16:~# sudo apt-key fingerprint 0EBFCD88
pub   4096R/0EBFCD88 2017-02-22
      密鑰指紋 = 9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid                  Docker Release (CE deb) <docker@docker.com>
sub   4096R/F273FCD8 2017-02-22
root@Ubuntu16:~# 

3 - Set up the stable repository

root@Ubuntu16:~# lsb_release -cs
xenial
root@Ubuntu16:~# 
root@Ubuntu16:~# sudo add-apt-repository \
>    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
>    $(lsb_release -cs) \
>    stable"
root@Ubuntu16:~# 

4 - Update the apt package index.

root@Ubuntu16:~# apt-get update
命中:1 http://mirrors.aliyun.com/ubuntu xenial InRelease
命中:2 http://mirrors.aliyun.com/ubuntu xenial-updates InRelease
獲取:3 https://download.docker.com/linux/ubuntu xenial InRelease [20.1 kB]
獲取:4 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages [1,479 B]
命中:5 http://mirrors.aliyun.com/ubuntu xenial-backports InRelease           
命中:6 http://mirrors.aliyun.com/ubuntu xenial-security InRelease                             
已下載 21.6 kB,耗時 18秒 (1,183 B/s)
正在讀取軟件包列表... 完成
root@Ubuntu16:~# 

5 - Install the latest version of Docker CE

root@Ubuntu16:~# apt-get install docker-ce
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關系樹       
正在讀取狀態信息... 完成       
將會同時安裝下列軟件:
  aufs-tools cgroupfs-mount git git-man liberror-perl
建議安裝:
  git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch
  git-cvs git-mediawiki git-svn
下列【新】軟件包將被安裝:
  aufs-tools cgroupfs-mount docker-ce git git-man liberror-perl
升級了 0 個軟件包,新安裝了 6 個軟件包,要卸載 0 個軟件包,有 166 個軟件包未被升級。
需要下載 23.1 MB/23.1 MB 的歸檔。
解壓縮后會消耗 115 MB 的額外空間。
您希望繼續執行嗎? [Y/n] Y
獲取:1 https://download.docker.com/linux/ubuntu xenial/stable amd64 docker-ce amd64 17.03.1~ce-0~ubuntu-xenial [19.3 MB]
獲取:2 http://mirrors.aliyun.com/ubuntu xenial/universe amd64 aufs-tools amd64 1:3.2+20130722-1.1ubuntu1 [92.9 kB]
獲取:3 http://mirrors.aliyun.com/ubuntu xenial/main amd64 liberror-perl all 0.17-1.2 [19.6 kB]
獲取:4 http://mirrors.aliyun.com/ubuntu xenial/main amd64 git-man all 1:2.7.4-0ubuntu1 [735 kB]
獲取:5 http://mirrors.aliyun.com/ubuntu xenial/main amd64 git amd64 1:2.7.4-0ubuntu1 [3,006 kB]
已下載 23.1 MB,耗時 2分 20秒 (164 kB/s)                                                      
正在選中未選擇的軟件包 aufs-tools。
(正在讀取數據庫 ... 系統當前共安裝有 181135 個文件和目錄。)
正准備解包 .../aufs-tools_1%3a3.2+20130722-1.1ubuntu1_amd64.deb  ...
正在解包 aufs-tools (1:3.2+20130722-1.1ubuntu1) ...
正在選中未選擇的軟件包 cgroupfs-mount。
正准備解包 .../cgroupfs-mount_1.2_all.deb  ...
正在解包 cgroupfs-mount (1.2) ...
正在選中未選擇的軟件包 docker-ce。
正准備解包 .../docker-ce_17.03.1~ce-0~ubuntu-xenial_amd64.deb  ...
正在解包 docker-ce (17.03.1~ce-0~ubuntu-xenial) ...
正在選中未選擇的軟件包 liberror-perl。
正准備解包 .../liberror-perl_0.17-1.2_all.deb  ...
正在解包 liberror-perl (0.17-1.2) ...
正在選中未選擇的軟件包 git-man。
正准備解包 .../git-man_1%3a2.7.4-0ubuntu1_all.deb  ...
正在解包 git-man (1:2.7.4-0ubuntu1) ...
正在選中未選擇的軟件包 git。
正准備解包 .../git_1%3a2.7.4-0ubuntu1_amd64.deb  ...
正在解包 git (1:2.7.4-0ubuntu1) ...
正在處理用於 libc-bin (2.23-0ubuntu5) 的觸發器 ...
正在處理用於 man-db (2.7.5-1) 的觸發器 ...
正在處理用於 ureadahead (0.100.0-19) 的觸發器 ...
正在處理用於 systemd (229-4ubuntu16) 的觸發器 ...
正在設置 aufs-tools (1:3.2+20130722-1.1ubuntu1) ...
正在設置 cgroupfs-mount (1.2) ...
正在設置 docker-ce (17.03.1~ce-0~ubuntu-xenial) ...
正在設置 liberror-perl (0.17-1.2) ...
正在設置 git-man (1:2.7.4-0ubuntu1) ...
正在設置 git (1:2.7.4-0ubuntu1) ...
正在處理用於 libc-bin (2.23-0ubuntu5) 的觸發器 ...
正在處理用於 systemd (229-4ubuntu16) 的觸發器 ...
正在處理用於 ureadahead (0.100.0-19) 的觸發器 ...
root@Ubuntu16:~#

6 - HTTP/HTTPS proxy

https://docs.docker.com/engine/admin/systemd/

root@Ubuntu16:~# mkdir -p /etc/systemd/system/docker.service.d/
root@Ubuntu16:~# vim /etc/systemd/system/docker.service.d/http-proxy.conf
root@Ubuntu16:~# cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://10.144.1.10:8080"
Environment="HTTPS_PROXY=https://10.144.1.10:8080"
Environment="FTP_PROXY=ftp://10.144.1.10:8080"
root@Ubuntu16:~# 
root@Ubuntu16:~# systemctl daemon-reload
root@Ubuntu16:~# systemctl restart docker
root@Ubuntu16:~#
root@Ubuntu16:~# systemctl show --property=Environment docker
Environment=HTTP_PROXY=http://10.144.1.10:8080 HTTPS_PROXY=https://10.144.1.10:8080 FTP_PROXY=ftp://10.144.1.10:8080
root@Ubuntu16:~# 

7 - Verify that Docker CE

root@Ubuntu16:~# docker version
Client:
 Version:      17.03.1-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:14:09 2017
 OS/Arch:      linux/amd64

Server:
 Version:      17.03.1-ce
 API version:  1.27 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   c6d412e
 Built:        Mon Mar 27 17:14:09 2017
 OS/Arch:      linux/amd64
 Experimental: false
root@Ubuntu16:~# 
root@Ubuntu16:~# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
78445dd45222: Pull complete 
Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7
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.
 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://cloud.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/engine/userguide/

root@Ubuntu16:~# 

8 - Configure Docker to start on boot

Post-installation steps for Linux
$ sudo systemctl enable docker

Install from a package

If you cannot use Docker’s repository to install Docker, you can download the .deb file for your release and install it manually. You will need to download a new file each time you want to upgrade Docker.

  1. This step is different for Docker CE
    Go to https://download.docker.com/linux/ubuntu/dists/,
    choose your Ubuntu version, browse to pool/stable/, choose either amd64 or armhf,and download the .deb file for the Docker version you want to install and for your version of Ubuntu.

  2. Install Docker, changing the path below to the path where you downloaded the Docker package.
    $ sudo dpkg -i /path/to/package.deb
    The Docker daemon starts automatically.

  3. Verify that Docker CE or Docker EE is installed correctly by running the hello-world image.
    $ sudo docker run hello-world
    This command downloads a test image and runs it in a container. When the container runs, it prints an informational message and exits.

Docker is installed and running. You need to use sudo to run Docker commands. Continue to Post-installation steps for Linux to allow non-privileged users to run Docker commands and for other optional configuration steps.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM