【.com速译】您可以通过多种方式管理和部署Docker容器。您可以直接使用Docker命令,使用众多GUI工具之一(基于Web的工具和桌面客户端工具),或者选择走docker-compose路线。什么是Docker组合?DockerCompose用于创建容器和容器之间的连接。然而,docker-compose命令实际上更加通用。使用此命令可以:构建映像、缩放容器、修复容器、查看容器的输出、列出容器的公共端口等。那么如何使用docker-compose呢?不妨一探究竟。如何安装DockerCompose?即使您已经在服务器上安装了Docker,也很有可能没有安装DockerCompose。要安装DockerCompose,请执行以下命令:sudocurl-L"https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname-s)-$(uname-m)"-o/usr/local/bin/docker-composesudochmod+x/usr/local/bin/docker-compose使用以下命令验证安装:docker-composeversion您应该会看到几个应用程序版本号(图A)。图A.DockerCompose已安装并准备就绪Docker文件要部署容器,DockerCompose依赖于docker-compose.yml文件,该文件用于将Docker容器部署到您的特定环境。假设您要部署一个Wordpress容器。首先使用以下命令创建一个新目录:mkdir~/wordpressbuild使用以下命令切换到新目录:cd~/wordpressbuild使用以下命令创建一个新的DockerCompose文件:nanodocker-compose.yml具有以下内容(采取来自官方DockerCompose文档)粘贴到文件中:version:'3.3'services:db:image:mysql:5.7volumes:-db_data:/var/lib/mysqlrestart:alwaysenvironment:MYSQL_ROOT_PASSWORD:somewordpressMYSQL_DATABASE:wordpressMYSQL_USER:wordpressMYSQL_PASSWORD:wordpresswordpress:depends_on:-dbimage:wordpress:latestports:-"8000:80"restart:alwaysenvironment:WORDPRESS_DB_HOST:db:3306WORDPRESS_DB_USER:wordpressWORDPRESS_DB_PASSWORD:wordpressWORDPRESS_DB_NAME:wordpressvolumes:db_data:{}保存并关闭文件。现在我们构建项目并使用以下命令以分离模式部署容器:docker-composeup–d该命令将下载所有需要的图像(本例中为MySQL和Wordpress),然后将服务部署到端口8000。您可以查看通过将Web浏览器指向http://SERVER_IP:8000(其中SERVER_IP是托管服务器的IP地址),打开Wordpress安装页面(图B)。图B.Wordpress安装程序如何检查您的部署?假设您要检查部署中的日志。为此,请执行以下命令:docker-composelogs您应该会看到很多来自之前部署的信息(图C)。图C.从Wordpress的docker-compose部署查看日志这个命令会输出很多信息(特别是如果你已经部署了很多容器)。相反,您可以指定要查看哪些服务的日志文件。如何知道使用哪个服务名称?检查docker-compose.yml文件。在这个例子中,我们有两个服务:db:databasewordpress:Wordpresscontainer所以如果你只想查看wordpress服务的日志,那么命令将是:docker-composelogswordpress你还可以查看日志的输出(比如使用tail命令),如下所示:docker-composelogs-fwordpress每当为wordpress服务记录新信息时,它就会出现在终端窗口中(图D)。图D.查看wordpress服务日志如果您忘记了部署中使用了哪些端口怎么办?您可以检查docker-compose.yml文件,也可以在docker-compose命令中使用端口选项。您需要了解服务的内部命令。例如,Wordpress默认使用端口80,因此我们知道它是一个内部端口。但是我们要分配什么作为面向网络的端口呢?使用以下命令找出答案:docker-composeportwordpress80该命令的输出将显示我们将内部端口80映射到外部端口8000(图E)。图E.Wordpress的端口映射如果您不记得已部署的容器,可以执行命令:docker-composeps输出将列出每个已部署的容器(图F)。图F.刚刚启动的容器列表这应该让您开始欣赏DockerCompose的强大功能。我们将在下一篇文章中详细介绍docker-compose.yml文件,弄清楚如何构建我们自己的容器。原标题:如何使用docker-compose命令,作者:JackWallen
