模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。
    默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。

    1. version: "3"
    2. services:
    3. webapp:
    4. image: examples/web
    5. ports:
    6. - "80:80"
    7. volumes:
    8. - "/data"

    注意每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)等来自动构建生成镜像。
    如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMD, EXPOSE, VOLUME, ENV 等) 将会自动被获取,无需在 docker-compose.yml 中重复设置。
    下面分别介绍各个指令的用法。

    buid:将指定的dockerfile打包成镜像,然后在运行该镜像
    images:镜像
    containername: 启动之后的容器名字
    ports:容器与宿主机的端口映射
    volumes:容器内目录与宿主机目录进行映射,可以绝对路径,可以使用卷名,使用卷名必须同个volume进行声明
    volume:声明卷名
    networks:指定容器使用哪个网桥,一旦使用自定义网桥名称需在network进行声明
    networks:网桥名称,如果不想系统自动生成,使用external:true
    _environment:给容器中某些环境赋值

    envfile:和 _environment:差不多,可以加密操作,需要单独文件后缀为.env。文件中的内容必须是environment格式
    command: run 镜像之后覆盖容器内部命令
    dependson: 依赖哪些服务,依赖的会优先顺序
    healthcheck:
    心跳检查
    sysctls:
    用来修改容器中系统内部的参数,并非必须!!!!!!不能瞎改
    ulimits:
    修改容器系统内部最大进程数。例如启动es,非必须!!!!

    。。。。。。。。。。。。还有很多。。。不写了,日后闲了更