Docker-Compose容器编排
Docker Compose可以轻松,高效的管理容器,他是一个用于定义和运行多个容器的docker的应用程序工具。在生产环境中一个应用肯定有很多个docker容器构成,而就单纯的docker一次性只能实现单个容器的部署,为了这个问题,docker compose 应运而生。
安装
官方下载文档 :https://docs.docker.com/compose/install/
docker默认不自带docker-compose工具,需要自己手动去下载
1 | curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o /usr/bin/docker-compose |
使用和管理
使用docker-compose需要在目录里定义一个名称为”docker-compose.yml”的yml文件,这个文件就是用来定义服务配置的之后可以使用docker-compose来管理这个文件里定义的资源。
1 | docker-compose up #启动 |
YML配置参考
1 | #全局配置层 |
version
这个版本需要和docker的版本相对应具体对应信息可去官网查看版本对照
build
在配置层定义,如果自己定义了dockerfile想让docker-compose来运行可以直接使用build来构建。
1 | # build 填写的是dockerfile处于的路径 .表示当前路径 |
image
用来指定镜像
1 | services: |
command
在配置层定义,修改容器启动时执行的命令
1 | version: "3" |
container_name
在配置层定义,默认docker-compose启动容器的名称格式为<项目名称><服务名称><序号>
这个参数可以直接修改容器的名字
1 | version: "3" |
environment
定义容器的环境变量
1 | version: "3" |
depends_on
在配置层定义,用来配置启动关系,配置了之后里面写其他服务容器的名称,只有里面定义容器启动后,自己才会启动,可以理解为服务容器启动的前提条件。
1 | version: "3" |
restart
在配置层定义,用来配置重启策略,模式如下
no: 是默认的重启策略,在任何情况下都不会重启容器
always: 容器总是重新启动
on-failure: 在容器非正常退出时(退出状态非0),才会重启容器
unless-stopped: 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
volumes
在配置层定义,用来把主机的数据卷或着文件挂载到容器里。
1 | version: "3" |
WordPress
1 | [root@localhost]# cat > docker-compose.yml <<EOF |