Docker Compose

实际项目中,通常会有很多容器同时运行,逐个启动这些容器会很繁琐。Docker Compose通过docker-compose.yml配置文件,可以非常轻松地,用一个命令启动这些容器。例如,假设你有一个需要NGNIX和PHP的应用程序,就可以使用docker-compose一次启动这2个容器。

安装dockers-compose

安装 dockers-compose的步骤如下

1. 下载 dockers-compose

在Linux CentOS系统下,下载docker-compose。其他系统安装可参考官网

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

上面的命令将下载docker-compose的最新版(当前是1.24.0),最新版可查看官网

2. 改变文件属性为可执行

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

3. 确认安装是否成功

查看docker-compose版本号

sudo docker-compose --version
docker-compose version 1.24.0, build 0aa59064

顺利打出版本号,安装成功。

例子:docker-compose启动nginx与php

我们将使用docker-compose一次启动nginx与php两个容器。

1. 配置 dockers-compose.yml文件

创建docker-compose.yml配置文件:


version: '3' services: # nginx 服务 nginx: # 推荐使用官方镜像 image: nginx:latest # 映射端口,把容器端口映射到宿主机对外接口,格式:对外端口:容器端口 ports: - "80:80" - "443:443" # 所依赖的服务,php会先启动 depends_on: - php # php 服务 php: # 官方镜像 image: php:7-fpm

docker-compose.yml是一个YAML文件,语法很简单。

我们把上面的文件分解一下。在父级,我们定义服务的名称:nginxphpnginx服务使用镜像nginx:latestphp服务使用镜像php:7-fpmports参数可以定义服务的端口映射。详细信息,请看注释。

2. docker-compose启动多个容器

先确保docker服务已经运行:

$ sudo service docker start

运行docker-compose,切换到docker-compose.yml所在的目录执行

$ sudo docker-compose up -d

会自动下载nginx与php镜像,然后运行这两个容器。

3. 确认容器运行

通过docker ps查看nginx与php容器是否运行:

[root@qikegu deploly]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                      NAMES
042328b082a4        nginx:latest        "nginx -g 'daemon of…"   33 seconds ago      Up 31 seconds       0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   deploly_nginx_1
9d0b67f869ee        php:7-fpm           "docker-php-entrypoi…"   34 seconds ago      Up 33 seconds       9000/tcp                                   deploly_php_1

可以看到容器确实已经运行了。



浙ICP备17015664号 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载