Docker Compose
为什么用Docker Compose?
Dockerfile让程序可以在任何地方运行,但是代码运行的相关环境不同,比如redis,MySQL,nginx等,需要执行Dockerfile build ,然后run手动操作,这样是单个容器操作很繁琐,因此Docker Compose应运而生。
微服务有很多项目包,而且依赖关系复杂,Docker Compose可以轻松高效的管理容器,定义运行多个容器。
Docker Compose官方介绍
官方介绍:https://docs.docker.com/compose/
compose是一个用于定义和运行多容器docker应用程序的工具。通过撰写,您可以使用YAML文件配置应用程序的服务。然后,使用一个命令创建并启动配置中的所有服务。在所有环境中都可以使用:生产、分期、开发、测试以及CI工作流。
使用compose的过程:(3步)
- 用Dockerfile定义应用程序的环境,这样它就可以在任何地方复制。
- 在docker-compose.yml中定义组成应用程序的服务,这样它们就可以在一个独立的环境中一起运行。
- 运行docker compose up 命令和 Docker compose command 命令启动并运行您的整个应用程序。
docker-compose.yml实例:有关撰写文件的更多信息,请参见:https://docs.docker.com/compose/compose-file/
version: "3.9" # optional since v1.27.0
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
compose重要概念:
- 参数services:表示服务,容器应用(MySQL,redis,web)
- 最后以project形式运行:一组关联的容器,包括运行环境,最后呈现的是一个project的形式来运行。
Docker Compose作用总结
将容器进行批量编排,整合到一个yml文件中,来控制容器构建的顺序。
Compose介绍和安装
Compose不是docker的命令,它是docker的一个开源项目,因此是需要安装的。