介绍
Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker-Conpose
Compose 是一个用户定义和运行多个容器的 Docker 应用程序。在 Compose 中你可以使用 YAML 文件来配置你的应用服务。然后,只需要一个简单的命令,就可以创建并启动你配置的所有服务。
安装 Docker CE
我将在 CentOS 7
系统上进行安装 Docker CE 和 Docker-Compose。
系统要求
Docker CE 支持 64 位版本 CentOS 7
,并且要求内核版本不低于 3.10。 CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。
Docker 提供了两个版本:社区版 (CE) 和企业版 (EE)。
Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并尝试使用基于容器的应用的理想之选。Docker CE 有两个更新渠道,即 stable
和 edge
:
- Stable 每个季度为您提供可靠更新
- Edge 每个月为您提供新功能
以下Docker的社区版和企业版的区别:
警告:切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker.
使用 YUM
安装
本文是用 Docker CE Stable 版本进行安装的。
先从 YUM 安装
Yum-utils
。Yum-utils 是管理repository及扩展包的工具。$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2 ...... Complete!
鉴于国内网络问题,强烈建议使用国内源。设置
YUM
软件源$ sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
安装 Docker CE
$ sudo yum install docker-ce
通过 docker 命令检查 Docker 是否安装成功。
$ docker -v Docker version 18.09.4, build d14af54266
启动 Docker
$ sudo systemctl start docker
设置 Docker 系统重启自启动
$ sudo systemctl enable docker
默认情况下,docker 命令会使用
Unix socket
与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
建立一个名叫做 docker 用户组。$ sudo groupadd docker
将当前用户加入 docker 组:
$ sudo usermod -aG docker $USER
退出当前终端并重新登录,测试 Docker 是否安装正确。
$ docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535 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://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
若能正常输出以上信息,则说明安装成功。
配置 Docker 加速器
镜像加速器
国内从 Docker Hub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
- Docker 官方提供的中国 registry mirror https://registry.docker-cn.com
- 阿里云加速器(需登录账号获取)
- 七牛云加速器 https://reg-mirror.qiniu.com/
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。
国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
我们以 Docker 官方加速器 https://registry.docker-cn.com 为例进行介绍。
配置加速器
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
上面是【Docker入门到实践】 的教程,我这边使用 七牛云加速器
进行配置。
# 创建配置的文件夹
$ sudo mkdir -p /etc/docker
# 创建 daemon.json 文件并且配置加速地址
$ sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://reg-mirror.qiniu.com/"]
}
EOF
# 加载加速器地址和重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker
安装 Docker-Compose
在 Linux 上的也安装十分简单,从 官方 GitHub Release
处直接下载编译好的二进制文件即可。
例如,在 Linux 64 位系统上直接下载对应的二进制包。
$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
使用 Docker-Compose 检查是否安装成功
$ docker-compose -v
docker-compose version 1.17.1, build 6d101fb
Docker-Compose 已经安装成功,得给 /usr/local/bin/docker-compose
文件夹分配权限。
$ sudo chmod +x /usr/local/bin/docker-compose
这篇文章只是记录在下安装 Docker 和 Docker-Compose 笔记,没有更高层次讲解怎么使用 Docker 和 Docker-Compose 请大家见谅。后面陆陆续续有 Docker 的实战文章呈上。
中文文档:https://docs.docker-cn.com/engine/installation/
Docker入门到实践:https://docker_practice.gitee.io/compose/install.html
强烈推荐新手入门学习看【Docker入门到实践】