Docker Compose


Docker Compose用于将多个容器作为单个服务运行。例如假设你有一个需要 NGNIX 和 MySQL 的应用程序,你可以创建一个文件,将两个容器作为服务启动,而无需分别启动每个容器。

在本章中,我们将看到如何开始使用 Docker Compose。然后,我们将看看如何使用 Docker Compose 启动并运行带有 MySQL 和 NGNIX 的简单服务。

Docker Compose ─ 安装


需要遵循以下步骤来启动和运行 Docker Compose。

步骤1: 使用以下命令从github下载 Docker Compose,然后将它保存在/home/demo目录中:

curl -L "https://github.com/docker/compose/releases/download/1.10.0-rc2/dockercompose
    -$(uname -s) -$(uname -m)" -o /home/demo/docker-compose

Docker Compose

步骤2: 接下来,需要提供执行权限给 Docker Compose 文件,使用以下命令:

chmod +x /home/demo/docker-compose

Execute Privileges

然后可以使用下面的命令来查看compose版本:

语法

docker-compose version

参数

  • version: 指定想要查看的 Docker Compose 版本的详细信息.

例子

以下示例显示了如何获取docker-compose版本:

sudo ./docker-compose -version

输出如下所示:

Docker Compose Installation

创建你的第一个 Docker-Compose 文件


所有 Docker Compose 文件都是 YAML 文件,现在使用vim来创建我们的第一个 Docker Compose 文件:

sudo vim docker-compose.yml

Compose File

来仔细看看这个文件的细节:

  • databaseweb关键字用于定义两个独立的服务,一个将运行mysql数据库,另一个将是nginx网络服务器;

  • image关键字用于为mysql和nginx容器指定来自dockerhub的镜像;

  • 对于数据库,使用 ports 关键字来指定需要为mysql暴露的端口;

  • 然后,我们还为mysql指定环境变量,这是运行mysql所需要的。

现在使用以下命令运行 Docker Compose 文件,这条命令将使用本地目录中的docker-compose.yml文件构建容器:

sudo ./docker-compose up

Docker Compose YML

执行后,所有镜像将开始下载,容器将自动启动。

Start Downloading

执行 docker ps 命令,可以看到容器确实已启动并正在运行。

Docker Compose Container