1. 准备工作

  • 需要 CentOS7 及以上的版本
  • 新版本的 Docker 分为 Docker CE 和 Docker EE,Docker EE是收费的企业版,所以我们安装 CE 版;旧版本的 Docker 叫 docker 或者 docker-engine;如果安装了旧版本,需要先删除掉,通过命令:
$ sudo yum remove docker \
                  docker-common \
                  docker-selinux \
                  docker-engine

2. 安装 Docker CE

2.1 安装必要的包

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

2.2 设置版本库地址

用来获取当前的稳定版本

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

2.3 安装 Docker

更新 yum 包索引:

$ sudo yum makecache fast

2.3.1 安装最新版

一般情况我们就用这个,安装最新版 docker-ce:

sudo yum install docker-ce

2.3.2 安装特定的版本

可以指定安装要安装的版本。

通过以下命令查看版本列表:

yum list docker-ce --showduplicates | sort -r

然后选择要安装的版本进行安装。

sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>

<FULLY-QUALIFIED-PACKAGE-NAME> 为版本的完整包名。

2.4 启动 Docker

命令:

$ sudo systemctl start docker

设置开机自启动

$ sudo systemctl enable docker

这样,开机后自动启动 Docker,会自动启动上次的容器。

2.5 测试是否成功

查看版本:

$ docker version

输出:

Client:
 Version:	17.12.0-ce
 API version:	1.35
 Go version:	go1.9.2
 Git commit:	c97c6d6
 Built:	Wed Dec 27 20:10:14 2017
 OS/Arch:	linux/amd64
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

运行一个hello-world容器:

$ sudo docker run hello-world

输出:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
ca4f61b1923c: Pull complete 
Digest: sha256:66ef312bbac49c39a89aa9bcc3cb4f3c9e7de3788c944158df3ee0176d32b751
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/

提示没有镜像,然后远程拉取镜像,最后输出“Hello from Docker!..”等内容,表示安装成功可以正常使用了。

2.6 其它安装方式

这是通过yum仓库安装的方式,其它方式参考 Get Docker CE for CentOS,还可以通过安装包,通过脚本进行安装。

2.7 如何卸载

通过:

$ sudo yum remove docker-ce

卸载 Docker。

卸载后容器,镜像,配置等文件不会自动删除,要手动删除:

$ sudo rm -rf /var/lib/docker

3. 安装 Docker-compose

Docker-compose 是一个 Dockerfile 的管理工具。通过编写 docker-compose.yml 文件就可以几个简单的指令管理所有的 Dockerfile 文件。

3.1 通过pip安装

安装方法:

$ sudo yum install python-pip
$ sudo pip install docker-compose

卸载方法:

$ sudo pip uninstall docker-compose

3.2 二进制安装

通过curl下载docker-compose:

$ sudo curl -L https://github.com/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

其中1.19.0位版本,可以修改为要下载的版本。

添加二进制可执行权限:

$ sudo chmod +x /usr/local/bin/docker-compose

这样就好了,查看一下版本:

$ docker-compose --version
docker-compose version 1.19.0, build 9e633ef

这样 docker-compose 就安装完成了。

卸载方法:

$ sudo rm /usr/local/bin/docker-compose

这种下载方式有时候很慢。可以用下面的方式,用 DaoCloud 镜像加速下载安装:

curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose