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                 # 停止服务