Ubuntu 17.04 x64 安装 Docker CE

Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松!

无论是应用开发者、运维人员、还是其他信息技术从业人员,都有必要认识和掌握 Docker,节约有限的时间。

系统要求

要安装Docker CE,您需要这些Ubuntu版本的64位版本:

  • Artful 17.10(Docker CE 17.11 Edge及更高版本)
  • ZESTY 17.04
  • Xenial 16.04(LTS)
  • Trusty 14.04(LTS)

Ubuntu x86_64,Linux armhf,s390x(IBM Z)和ppc64le(IBM Power)架构上支持Docker CE

卸载旧版本

老版本的Docker被称为dockerdocker-engine。如果安装了这些,请将其卸载:

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

使用存储库进行安装

首次在新的主机上安装Docker CE之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker

  • 设置存储库

1.更新软件包

1.更新apt软件包索引:

$ apt-get update

2.设置存储库

2.安装软件包以允许apt通过HTTPS使用存储库:

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

3.添加GPG密钥

3.添加Docker的官方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 -

4.设置镜像源

4.添加 Docker 软件源

鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。

然后,我们需要向 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 改为 edge 或者 test。从 Docker 17.06 开始,edge test 版本的 APT 镜像源也会包含稳定版本的 Docker

安装Docker CE

1.更新软件包

1.更新apt软件包索引。

$ apt-get update

2.安装Docker CE

2.安装最新版本的Docker CE,或者转到下一步安装特定版本。任何现有的Docker安装都将被替换。

$ apt-get install docker-ce

3.列出版本

3.在生产系统上,您应该安装特定版本的Docker CE,而不是始终使用最新版本。此输出被截断。列出可用的版本。

$ apt-cache madison docker-ce

docker-ce | 17.12.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.09.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.09.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.06.2~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.06.1~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages
docker-ce | 17.06.0~ce-0~ubuntu | https://download.docker.com/linux/ubuntu zesty/stable amd64 Packages

列表的内容取决于启用了哪个存储库。选择一个特定的版本进行安装。第二列是版本字符串。第三列是存储库名称,它指出了软件包来自哪个存储库,并通过扩展其稳定性级别。要安装特定版本,请将版本字符串附加到包名称,并用等号(=)将它们分开:

$ sudo apt-get install docker-ce=<VERSION>

4.运行镜像

4.通过运行hello-world 映像验证是否正确安装了Docker CE

$ docker run hello-world

这个命令下载一个测试图像并在容器中运行。容器运行时,会打印一条信息消息并退出。

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete 
Digest: sha256:445b2fe9afea8b4aa0b2f27fe49dd6ad130dfe7a8fd0832be5de99625dad47cd
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://cloud.docker.com/

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

以非root用户身份管理Docker

默认情况下,docker 命令会使用 Unix socketDocker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

要创建docker组并添加您的用户:

1.创建用户组

1.创建docker组。

$ sudo groupadd docker

2.添加用户组

2.将您的用户添加到docker组中。

$ sudo usermod -aG docker $USER

3.注销系统

3.注销并重新登录,如果在虚拟机上进行测试,则可能需要重新启动虚拟机才能使更改生效。

4.运行镜像

4.验证您可以不运行docker命令sudo

$ docker run hello-world

卸载Docker CE

1.卸载

1.卸载Docker CE软件包:

$ sudo apt-get purge docker-ce

2.删除

2.主机上的图像,容器,卷或自定义配置文件不会自动删除。删除所有图像,容器和卷:

$ sudo rm -rf /var/lib/docker

利用 commit 理解镜像构成

这条命令会用nginx 镜像启动一个容器,命名为 myweb,并且映射了 80 端口,这样我们可以用浏览器去访问这个 nginx 服务器。

$ docker run --name myweb -d -p 80:80 nginx

直接访问:http://localhost;如果使用的是 Docker Toolbox,或者是在虚拟机、云服务器上安装的 Docker,则需要将 localhost 换为虚拟机地址或者实际云服务器地址。

参考:Docker 官网 Get Docker CE for Ubuntu

https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#install-using-the-convenience-script

Contact

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏yukong的小专栏

mac os下使用 Docker安装 oracle数据库

在mac os需要通过docker-toolbox安装docker 你可以在这里下载docker-toolbox

3862
来自专栏写代码的海盗

Nodejs课堂笔记-第三课 构建一个nodejs的Docker镜像

  因为一直做Linux有关的开发工作,所以不习惯在Windows平台编译和测试代码。在没有Docker之前,windows基本就是一个IDE平台。在wind...

3326
来自专栏Python爬虫与算法进阶

Pycharm插件推荐:Docker integration

在设置-Plugins-BROWSE REPOSITORIES… 中搜索“Docker”

8212
来自专栏散尽浮华

Docker管理工具-Swarm部署记录

介绍另一个管理工具Swarm的用法,Swarm是Docker原生的集群管理软件,与Kubernetes比起来比较简单。

6226

Docker / OSX快速入门

Docker(容器技术)始于2013年,自那时起我便经常可以看到有关docker的消息。之前我已经尝试过docker的入门例子,但我觉得自己没有真正理解dock...

25110
来自专栏吴伟祥

Linux中ctrl-c, ctrl-z, ctrl-d 区别

1、Ctrl+C比较暴力,就是发送Terminal到当前的程序,比如你正在运行一个查找功能,文件正在查找中,Ctrl+C就会强制结束当前的这个进程。

921
来自专栏finleyMa

docker学习系列4 简单总结 docker-curriculum

来源:https://docker-curriculum.com/ 这篇文章不错,可以作为第一篇 docker 的入门,我简单总结了下。顺便重温下之前的内容。...

1473
来自专栏云计算

Docker for Devs:创建一个开发版镜像

Docker for Devs 系列包括以下6篇文章,这是第二篇。

3469
来自专栏点滴积累

Docker网络——单host网络

前言 前面总结了Docker基础以及Docker存储相关知识,今天来总结一下Docker单主机网络的相关知识。毋庸置疑,网络绝对是任何系统的核心,他在Docke...

3815
来自专栏云计算

在Docker环境中开发Java 8 Spring Boot应用程序

本文我将向你展示如何在本地计算机上不安装Java 8环境的情况下使用Java 8来开发并运行一个简单的Spring Web应用程序。

1K7

扫码关注云+社区

领取腾讯云代金券