如何使用Docker-Compose命令
【.com快译】你可以通过多种方式来管理和部署Docker容器。何使你可以直接使用Docker命令、命令借助众多GUI工具中的何使一款(基于Web的工具和面向桌面客户端的工具),也可以选择走docker-compose这条路。命令
Docker Compose是何使什么东东?Docker Compose用于创建容器及容器之间的连接。然而,命令docker-compose命令的何使用途实际上广泛得多。使用此命令可以:构建映像、命令扩展容器、何使修复容器、命令查看容器的何使输出、列出容器的命令公共端口等等。
那么如何使用docker-compose呢?何使不妨一探究竟。
如何安装Docker Compose?命令
即使你已经在服务器上安装了Docker,也很可能没有安装Docker Compose。何使要安装Docker Compose,执行以下命令:
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose使用以下命令验证安装:
docker-compose version你应该会看到几个应用程序的版本号(图A)。
图A. Docker Compose已安装并准备就绪
Docker文件
为了部署容器,Docker Compose依赖docker-compose.yml文件,该文件用于将Docker容器部署到你的特定环境。假设你想部署Wordpress容器。云服务器提供商先使用以下命令创建一个新目录:
mkdir ~/wordpressbuild使用以下命令切换到该新目录:
cd ~/wordpressbuild使用以下命令创建新的Docker Compose文件:
nano docker-compose.yml将以下内容(取自官方Docker Compose文档)粘贴到文件中:
version: 3.3 services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress volumes: db_data: { }保存并关闭该文件。
现在我们使用以下命令构建项目并在分离模式下部署容器:
docker-compose up –d该命令将下载所有必需的映像(本例中是MySQL和Wordpress),然后在端口8000上部署该服务。可以将Web浏览器指向http://SERVER_IP:8000(其中SERVER_IP是托管服务器的IP地址),查看Wordpress安装页面(图B)。
图B. Wordpress安装程序
如何检查你的部署?
假设你想检查来自部署的日志。为此,执行以下命令:
docker-compose logs你应该会看到来自上一次部署的大量信息(图C)。
图C. 查看来自Wordpress的docker-compose部署的日志
该命令将输出大量信息(如果你部署了众多容器更是如此)。相反,你可以指定要查看日志文件的服务。如何知道使用哪个服务名称?检查docker-compose.yml文件。在本文示例中,我们有两个服务:
db:数据库 wordpress:Wordpress容器因此,如果你只想查看wordpress服务的日志,那么该命令将是:
docker-compose logs wordpress你也可以查看日志的服务器租用输出(就像使用tail命令那样),如下所示:
docker-compose logs -f wordpress只要wordpress服务的新信息记入日志,就会出现在终端窗口中(图D)。
图D. 查看wordpress服务日志
如果你忘了部署中使用哪些端口,该怎么办?可以查看docker-compose.yml文件,也可以将port选项与docker-compose命令一起使用。你要知道服务的内部命令。比如说,Wordpress默认使用端口80,因此我们知道这是内部端口。但我们将什么分配为面向网络的端口?用以下命令查清楚:
docker-compose port wordpress 80该命令的输出将显示我们将内部端口80映射到外部端口8000(图E)。
图E. Wordpress的端口映射
如果你记不得已部署的容器,可以执行命令:
docker-compose ps输出会列出已部署的每个容器(图F)。
图F. 容器列表
刚刚开始
这应该让你可以开始领略Docker Compose的强大功能。我们会在下一篇文章中细述docker-compose.yml文件,弄清楚如何构建自己的容器。
原文标题:How to use the docker-compose command,作者:Jack Wallen
【译稿,合作站点转载请注明原文译者和出处为.com】