欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker Compose

程序员文章站 2022-05-15 09:17:45
...

版权所有,未经许可,禁止转载


章节


实际项目中,通常会有很多容器同时运行,逐个启动这些容器会很繁琐。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容器是否运行:

[[email protected] 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

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