yaml文件结构
在项目名
目录下创建docker-compose.yaml文件,文件结构如下
version: '3' # 版本号
services: # 服务类
web: # web服务
build: ../ # 在本文件的上级目录下构建映像
restart: unless-stopped # 重启策略
ports:
- "6000:5000" # 将容器上的暴露端口`5000`映射到主机上的端口 `6000`
volumes:
- ../src:/opt/src # 通过volums动态挂载,容器和物理host共享数据卷
redis: # redis服务
image: redis:3.0.7 # 映像名
# volumes 路径设置
volumes:
# 只需指定一个路径,让引擎创建一个卷
- /var/lib/mysql
# 指定绝对路径映射
- /opt/data:/var/lib/mysql
# 相对于当前compose文件的相对路径
- ./cache:/tmp/cache
# 用户家目录相对路径
- ~/configs:/etc/configs/:ro
# 命名卷
- datavolume:/var/lib/mysql
如果要跨多个服务并重用挂载卷,请在顶级volumes关键字中命名挂在卷。不提倡重用挂载卷。
Docker-Compose命令
docker-compose -h # 查看帮助
docker-compose up # 启动所有docker-compose服务
docker-compose up -d # 启动所有docker-compose服务并后台运行
docker-compose down # 停止并删除容器、网络、卷、镜像。
docker-compose exec yml里面的服务id # 进入容器实例内部 docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps # 展示当前docker-compose编排过的运行的所有容器
docker-compose top # 展示当前docker-compose编排过的容器进程
docker-compose logs yml里面的服务id # 查看容器输出日志
docker-compose config # 检查配置
docker-compose config -q # 检查配置,有问题才有输出
docker-compose restart # 重启服务
docker-compose start # 启动服务
docker-compose stop # 停止服务