详解如何使用Docker-Compose命令

2020-06-17 07:00:48易采站长站整理

你可以通过多种方式来管理和部署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)。