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.

Docker - 在Ubuntu16.04中安装Docker CE的更多相关文章

  1. 在Ubuntu16.04中安装Docker CE

    apt-get install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https ...

  2. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  3. SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  4. Docker - 在CentOS 7中安装Docker

    1-确认系统信息 # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # uname -a Linux CentOS-7 3. ...

  5. ubuntu16.04 在线安装docker ce

    官方文档:https://docs.docker.com/install/linux/docker-ce/ubuntu/   ubuntu创建普通用户: adduser dk001 给该用户添加sud ...

  6. ubuntu16.04 离线安装docker ce

    ubuntu离线安装 docker17.05.0-ce 离线安装 不想自己下载的小伙伴可以从以下地址下载几个软件包: 链接: https://pan.baidu.com/s/1lF7t7ciMhUnW ...

  7. ubuntu16.04下安装docker

    原文地址:传送门 本文开发环境为Ubuntu 16.04 LTS 64位系统,通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是 ...

  8. Ubuntu16.04 部署安装Docker容器 & 注意事项

    一.部署安装Docker容器 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多 ...

  9. ubuntu安装docker{ubuntu16.04下安装docker}

       一.开始安装 第一步:   由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本: $ sudo apt-get remove docker docker-engine d ...

随机推荐

  1. 网关、DNS、路由器区别

    1.首先得区分一下网关和路由器的区别: 网关是一个IP地址.是一个网络连接到另一个网络的"关口". 路由器是一个物理设备.一般局域网的网关就是路由器的IP地址. 2. 网关.DNS ...

  2. MYSQL数据库-其他

    FROM:实验楼 索引: 当表中有大量记录时,若要对表进行查询,没有索引的情况是全表搜索.而如果在表中已建立索引,在索引中找到符合查询条件的索引值,通过索引值就可以快速找到表中的数据. 建立索引: $ ...

  3. ASP.NET MVC制作404跳转(非302和200)

    前言:距离上次发文已经有几个月了! 这段时间李,制作了一个博客网站,现将博客文章选一些发表到博客园,顺便为自己网站打一下广告! 产生404的原因主要有以下: 1.浏览器和爬虫:某些浏览器会请求网站的f ...

  4. Swing入门

    厌倦了在控制台使用键盘输入并显示结果的过程?是的,在你现在这台电脑上,已经很少有程序使用这种交互方式.本实验将带你初步进入图形用户界面(GUI)的世界,让你学会如何编写屏幕上那些具有特定大小和位置的窗 ...

  5. dellR720重启找不到启动引导项,手动选择也无用。

    机器重启后显示 no boot device available.(如下图)检查bios中设置也是没问题的,因为装完系统后根本没动过什么.F11手动选择启动项也还是会跳到这里来. 这台机子做的Raid ...

  6. win8效果的横向布局

    有一个月没写过博客了,自己的博客也没有看过,前段时间一直在忙着写代码,公司有一个制漆的产品,与传统纵向布局不一样,要求页面横向布局,类似win8的那种布局效果,最开始,我也没有什么头绪,然后硬着头皮做 ...

  7. linux系统使用python监测网络接口获取网络的输入输出

    #!/usr/bin/env Pythonimport timeimport sys if len(sys.argv) > 1: INTERFACE = sys.argv[1]else: INT ...

  8. 浅谈HTTP中Get与Post的区别[转载]

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...

  9. 3.Maven坐标和依赖

    1.1 何为Maven坐标 正如之前所说的,Maven的一大功能就是管理项目依赖.为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就依赖管理的底层基础——坐标. 1.2 坐标 ...

  10. kafka 入门笔记 #1

    kafka 入门笔记(#1) 单机测试 下载版本,解压 tar -xzf kafka_2.11-0.10.1.1.tgz cd kafka_2.11-0.10.1.1 启动服务 Kafka用到了Zoo ...