Docker - Compose

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

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

Docker Compose─安装

需要执行以下步骤才能使Docker Compose启动并运行.

步骤1 : 使用以下命令从 github 下载必要的文件 :

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,在撰写本文时 1.10.0-rc2 .然后它会将它存储在/home/demo/目录中.

Docker Compose

第2步 : 接下来,我们需要为下载的Docker Compose文件提供执行权限,使用以下命令 :

chmod +x /home/demo/docker-compose


执行权限

然后我们可以使用以下命令查看撰写版本.

语法

 
 docker-compose version

参数

  • 版本 : 这用于指定我们想要 Docker Compose 版本的详细信息.

输出

将显示Docker Compose的版本详细信息.

示例

以下示例说明如何获取 docker-compose 版本.

 
 sudo ./docker-compose -version

输出

然后你会得到以下输出 :

Docker Compose Installation

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

现在让我们继续创建我们的第一个Docker Compose文件.所有Docker Compose文件都是YAML文件.您可以使用vim编辑器创建一个.因此,执行以下命令创建撰写文件 :

 
 sudo vim docker-compose.yml


撰写文件

让我们仔细看看这个文件的各种细节 :

  • 数据库 web 关键字用于定义两个单独的服务.一个将运行我们的 mysql 数据库,另一个将是我们的 nginx Web服务器.

  • image 关键字用于指定来自 dockerhub 的图像,用于 mysql nginx 容器

  • 对于数据库,我们使用ports关键字来提及 mysql 需要公开的端口.

  • 然后,我们还指定运行 mysql 所需的 mysql 的环境变量.

现在让我们使用以下命令运行我们的Docker Compose文件 :

 
 sudo ./docker-compose up

此命令将获取本地目录中的 docker-compose.yml 文件并开始构建容器.

Docker Compose YML

执行后,所有图像都会启动下载和容器将自动开始.

开始下载

当你做 docker ps ,你可以看到容器确实正常运行.

Docker撰写容器