概述
在实际生产环境中,一个应用往往由许多服务构成,而 docker 的最佳实践是一个容器只运行一个进 程,因此运行多个微服务就要运行多个容器。多个容器协同工作需要一个有效的工具来管理他们,定义 这些容器如何相互关联。compose 应运而生。 compose 是用来定义和运行一个或多个容器(通常都是多个)运行和应用的工具。使用 compose 可以简 化容器镜像的构建以及容器的运行。 compose 使用 YAML 文件来定义多容器之间的关系。一个 docker-compose up 就可以把完整的应用跑 起来。 本质上, compose 把 YAML 文件解析成 docker 命令的参数,然后调用相应的 docker 命令行 接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。而容器间 的依赖关系由 YAML 文件中的 links 标记指定。
官网地址:https://docs.docker.com/compose/compose-file/
安装
docker-compse是基于docker使用的,所以没有安装docker需要先安装docker。若没安装则可以访问连接,进行安装。
docker安装
docker-compse安装
语法
说明 | 命令 |
---|---|
创建或更新容器 | docker-compose up -d |
删除容器 | docker-compose down |
列出所有容器 | docker-compose ps |
启动容器 | docker-compose start |
停止容器 | docker-compose stop |
重启容器 | docker-compose restart |
查看服务日志 | docker-compose logs |
构建或者重新构建服务 | docker-compose build |
部分参数说明:
说明 | 命令 |
---|---|
参数 | 说明 |
-d | 通过守护线程运行 |
-f | 指定要使用的配置文件 |
针对docker-compose up -d
的额外说明:docker-compose up -d 何时会创建新容器问题
配置用例
docker-compose.yml文件基本用例(注意配置文件中不能出现中文)
version: "3"
services:
mysql:
image: mysql:8.4
container_name: mysql8.4
restart: always
ports:
- 3307:3306
environment:
- MYSQL_ROOT_PASSWORD=admin
volumes:
- ./data:/var/lib/mysql
使用
在docker-compose.yml配置文件所在的目录下执行命令:docker-compose up -d
即可。
默认会使用当前执行命令目录下的docker-compose.yml中的配置。
如果需要使用指定目录下的文件,通过-f
参数,docker-compose -f /root/docker-compose.yml up -d
评论区