前言
Docker 简化了容器中应用程序进程的管理过程。容器允许您在资源隔离的进程中运行应用程序。容器与虚拟机类似,但容器更便携、更资源友好,并且更依赖于主机操作系统。
本文将介绍如何用滴滴云服务器在 Ubuntu 16.04 上安装和使用 Docker Community Edition(CE),我们将安装 Docker、使用镜像和容器,并将镜像上传到 Docker 仓库。
目前,滴滴云提供了容器镜像服务,支持镜像托管、镜像安全扫描、镜像加速等功能,我们还将上传镜像到滴滴云 Docker 仓库。
准备
在开始之前,我们需要做以下准备工作:
-
登录滴滴云控制台创建一个云服务器 DC2。配置为:Ubuntu 16.04,4 核 8G 内存,40G SSD 云盘存储,5Mbps 带宽。
-
如果您希望创建自己的镜像并将其推送到 Docker Hub,则需要 Docker Hub 的帐户,具体操作如步骤 7 和 8 所示。
-
跳转到滴滴云控制台-计算-容器镜像服务设置仓库账户,具体操作如步骤 9 所示。
第 1 步 - 安装 Docker
为了确保获得最新版本,我们从 Docker 官网镜像仓库来安装 Docker。为此,我们添加一个新的软件包源,从 Docker 添加 GPG 密钥以确保下载有效,然后安装该软件包。
1.更新现有的软件包列表::
$ sudo apt update
2.安装 apt-transport-https 等软件包支持 HTTP 协议的源:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
3.添加 Docker 官方的 GPG 密钥到您的系统:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4.将 Docker 添加到 APT 源:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
5.再次更新 APT 软件包缓存:
$ sudo apt update
6.确保您要从 Docker 仓库而不是默认的 Ubuntu 仓库安装:
$ apt-cache policy docker-ce
虽然 Docker 的版本号可能不同,但您会看到这样的输出:
Output
docker-ce:
Installed: (none)
Candidate: 5:18.09.0~3-0~ubuntu-xenial
Version table:
5:18.09.0~3-0~ubuntu-xenial 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
18.06.1~ce~3-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
18.06.0~ce~3-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
18.03.1~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
18.03.0~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.12.1~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.12.0~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.09.1~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.09.0~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.06.2~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.06.1~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.06.0~ce-0~ubuntu 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.03.3~ce-0~ubuntu-xenial 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.03.2~ce-0~ubuntu-xenial 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.03.1~ce-0~ubuntu-xenial 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
17.03.0~ce-0~ubuntu-xenial 500
500 https://download.docker.com/linux/ubuntu xenial/stable amd64 Packages
请注意,docker-ce
未安装,但安装候选项来自 Ubuntu16.04(xenial
)的 Docker 仓库。
7.安装 Docker CE:
$ sudo apt install docker-ce
8.此时,Docker 安装已完成,守护进程已启动。通过 systemctl
命令来启动 Docker 服务,检查它是否正在运行:
$ sudo systemctl status docker
输出应类似于以下内容,表明该服务处于活动状态并正在运行:
Output
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-12-09 22:38:11 CST; 1min 50s ago
Docs: https://docs.docker.com
Main PID: 22003 (dockerd)
CGroup: /system.slice/docker.service
└─22003 /usr/bin/dockerd -H unix://
现在安装 Docker 不仅可以为您提供 Docker 服务(守护进程),还可以为您提供 Docker 命令行工具或 Docker 客户端。我们将在后文探讨如何使用 docker
命令。
第 2 步 - 不加 Sudo 前缀执行 Docker 命令(可选)
默认情况下,docker
命令只能由 root 用户或 Docker 组中的用户运行,Docker 用户组在 Docker 的安装过程中自动创建。如果您不使用 sudo
作为前缀或不在 Docker 组中,尝试运行 docker
命令,将获得如下输出:
Output
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See 'docker run --help'.
1.如果希望在每次运行 docker
命令时避免键入 sudo
,请将当前用户添加到安装中自动创建的 Docker 用户组中:
$ sudo usermod -aG docker ${USER}
2.要应用新的组成员身份,请注销服务器并重新登录,或键入以下命令:
$ su - ${USER}
系统将提示您输入用户密码以继续。
3.通过键入以下命令确认