# 一.搭建环境

# 1.环境依赖

由于 Docker 的容器隔离依赖于 Linux 内核中的相关支持,所以使用 Docker 首先需要确保安装机器的 Linux kernel 中包含 Docker 所需要使用的特性

操作系统 支持的系统版本
CentOS CentOS 7
Debian Debian Wheezy 7.7 (LTS)
Debian Jessie 8 (LTS)
Debian Stretch 9
Debian Buster 10
Fedora Fedora 26
Fedora 27
Ubuntu Ubuntu Trusty 14.04 (LTS)
Ubuntu
Ubuntu Xenial 16.04 (LTS)
Ubuntu
Ubuntu Artful 17.10

# 2.安装 Docker

# 2.1 CentOS

yum install yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
systemctl enable docker
systemctl start docker
1
2
3
4
5

# 2.2 Debian

apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce
systemctl enable docker
systemctl start docker
1
2
3
4
5
6
7

# 2.3 Fedora

dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
dnf install docker-ce
systemctl enable docker
systemctl start docker
1
2
3
4
5

# 2.4 Ubuntu

apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce
systemctl enable docker
systemctl start docker
1
2
3
4
5
6
7

# 3.使用 Docker

在安装 Docker 完成之后,我们需要先启动 docker daemon 使其能够为我们提供 Docker 服务,这样我们才能正常使用 Docker。

在我们通过软件包的形式安装 Docker Engine 时,安装包已经为我们在 Linux 系统中注册了一个 Docker 服务,所以我们不需要直接启动 docker daemon 对应的 dockerd 这个程序,而是直接启动 Docker 服务即可。

systemctl start docker
1

当然,为了实现 Docker 服务开机自启动,我们还可以运行这个命令:

systemctl enable docker
1

# 3.1 docker version

在 Docker 服务启动之后,我们先来尝试一个最简单的查看 Docker 版本的命令:docker version

docker version
Client:
 Version:           18.06.1-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        e68fc7a
 Built:             Tue Aug 21 17:23:03 2018
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.1-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       e68fc7a
  Built:            Tue Aug 21 17:25:29 2018
  OS/Arch:          linux/amd64
  Experimental:     false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

这个命令能够显示 Docker C/S 结构中的服务端 ( docker daemon ) 和客户端 ( docker CLI ) 相关的版本信息。在默认情况下,docker CLI 连接的是本机运行的 docker daemon ,由于 docker daemon 和 docker CLI 通过 RESTful 接口进行了解耦,所以我们也能修改配置用于操作其他机器上运行的 docker daemon 。

# 3.2 docker info

如果想要了解 Docker Engine 更多相关的信息,我们还可以通过 docker info 这个命令。

docker info
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 18.06.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
## ......
Live Restore Enabled: false
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

docker info 这条命令的结果中,我们可以看到正在运行的 Docker Engine 实例中运行的容器数量,存储的引擎等等信息

# 4.配置国内镜像源

在 Linux 环境下,我们可以通过修改 /etc/docker/daemon.json ( 如果文件不存在,你可以直接创建它 ) 这个 Docker 服务的配置文件达到效果。

{
    "registry-mirrors": [
        "https://registry.docker-cn.com"
    ]
}
1
2
3
4
5

重新启动 docker daemon

systemctl restart docker
1

查阅当前注册的镜像源列表

docker info
## ......
Registry Mirrors:
 https://registry.docker-cn.com/
## ......
1
2
3
4
5