前言
我们都知道 docker run 可以以容器的形式启动一个指定的服务,但是,当存在多个相互依赖的服务时,我们是不是也需要一个命令一个命令的去依次启动每个服务呢?不是的,其实,我们是可以利用 docker-compose ,今天我们将重点介绍这个服务编排工具。
正文一、Compose介绍
在介绍 docker-compose 之前,我们先来了解一下 Compose,它是 Docker 官方的开源项目之一,主要实现对 Docker 容器集群的快速编排。它是一个定义和运行多容器的 docker 服务的应用工具。使用 Compose,我们就能通过 yml 文件配置对应的容器服务,然后通过相关的命令管理多个容器服务,控制它们的启动和关闭。
二、docker-compose介绍
好了,我们现在来了解一下 docker-compose 命令,docker-compose 的工程配置文件默认为docker-compose.yml,可通过环境变量 COMPOSE_FILE 或 -f 参数自定义配置文件,在配置文件中定义了多个有依赖关系的服务以及每个服务运行的容器列表。
下面通过一个例子来比较形象的介绍 docker run 和 docker-compose 的关系。
三、docker run 和 docker-compose 的实例对比
docker run 命令:
docker run -p 9001:9000 --name bominio \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin1234" \
-v /minio/data:/data \
-v /minio/config:/root/.minio \
minio/minio:RELEASE.2021-09-18T18-09-59Z server /data
docker-compose 命令:
version: '3'
services:
minio:
image: minio/minio:RELEASE.2021-06-17T00-10-46Z
container_name: bominio
restart: always
command: server /data
ports:
- 9001:9000
environment:
MINIO_ROOT_USER: admin
MINIO_ROOT_PASSWORD: admin1234
volumes:
- /minio/data:/data
- /minio/config:/root/.minio
对应关系还是非常清晰的,相信大家都可以看懂,我就不一一介绍了。
如果有疑问,欢迎评论留言或者私信沟通,晚安!