Docker Compose简介

时间:2020-03-21 11:45:51  来源:igfitidea点击:

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。
通过Compose,我们使用Yaml文件来配置我们的应用程序的服务。
然后我们使用单个命令创建并启动所有服务。
这是一个简单的图形插图,显示了Docker撰写的作品。

Docker Compose基本上是三步过程:

  • 首先,我们需要使用dockerfile定义应用程序环境,因此它可以再次重复使用。
  • 其次,我们定义在Docker-compose.yml中构成应用程序的服务,因此它们可以在孤立的环境中运行。
  • 最后,我们运行docker-compose up命令并撰写将启动并运行整个应用程序。

开始使用Docker Compose

可以通过两种方式安装Docker Compose。
我们可以在以下链接中找到"安装Docker Compose"部分下的安装说明。

  • 如何在Ubuntu安装Docker
  • 如何在CentOS中安装Docker

安装后,请使用命令查看Docker Compose的版本:

# docker-compose -version

或者,

# docker-compose -v

或者,

# docker-compose --version

要获得帮助,只需运行:

# docker-compose -help

此命令将列出Docker Compose可以执行的命令。

现在让我们拍摄一个简单的Docker撰写文件作为一个例子。
这是我的撰写文件的内容。

上面的Docker Compose文件是一个裸露的最小文件,以了解Compose文件中的基本内容。

我们可以使用命令检查文件的有效性:

# docker-compose config

如果我们在Docker Compose文件中给出了错误的版本,那么它将给我们一个错误消息。

现在让我们使用命令运行compose文件:

# docker-compose up -d

它将使用单个命令启动所有服务。

要列出由Compose文件创建的运行容器,请运行:

# docker-compose ps

我们可以随时使用以下命令延迟应用程序:

# docker-compose down

我们还可以将不同的端口分配给nginx,例如8181.

为此,只需在Compose文件中定义端口,如下图所示。

现在nginx暴露于端口8181.让我们启动容器并检查nginx是否在8181端口运行。

打开浏览器并验证它是否在8181端口上运行。

如果要缩放服务,则可以使用命令执行命令:

# docker-compose up -d --scale database=3

要显示运行服务,请运行:

# docker-compose top

停下来,开始。
立即重新启动整个服务,命令将是:

# docker-compose stop
# docker-compose start
# docker-compose restart

我们可以使用命令查看服务的日志:

# docker-compose logs

在Docker-Compose中的网络

Docker默认为应用程序设置一个网络。
每个容器加入默认网络和容器都能够在该默认网络上进行通信。

但是,如果我们不想要默认网络,则可以使用撰写创建新网络。

出于本教程的目的,我使用以下三个文件:

  • dockerfile.
  • docker-compose.yml.
  • server.py.

这是dockerfile的内容:

docker-compose.yml的内容:

server.py的内容:

现在使用命令构建图像:

# docker-compose build

构建完成后,我们将看到以下输出:

正如我们可以看到图像已成功构建。
我们可以使用命令验证它:

# docker images

在上面的输出中看到,创建名为Image1的Docker图像。

现在运行compose文件:

# docker-compose up -d

检查是否创建了新网络或者使用命令创建:

# docker network ls

从上面的屏幕截图,我们可以确认已创建名为DC_Network_my-network的新网络。

让我们检查是否使用"docker ps"命令或者不检查容器是否正在运行:

# docker ps

是的,容器正在运行!

最后使用curl命令运行应用程序代码文件(server.py):

# curl localhost:15001

或者,

# curl 10.26.35.244:15001