• docker-compose.yml模板文件


    默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。

    示例:

    version: "3"
    
    services:
      webapp:
        image: examples/web
        ports:
          - "80:80"
        volumes:
          - "/data"

    注意每个服务都必须通过 image 指令指定镜像或 build 指令(需要 Dockerfile)等来自动构建生成镜像。

    如果使用 build 指令,在 Dockerfile 中设置的选项(例如:CMDEXPOSEVOLUMEENV 等) 将会自动被获取,无需在 docker-compose.yml 中再次设置。

    build

    1、

    指定 Dockerfile 所在文件夹的路径(可以是绝对路径,或者相对 docker-compose.yml 文件的路径)。 Compose 将会利用它自动构建这个镜像,然后使用这个镜像。

    version: '3'
    services:
    
      webapp:
        build: ./dir      # dir文佳夹里面有Dockerfile文件

    2、

    你也可以使用 context 指令指定 Dockerfile 所在文件夹的路径。

    使用 dockerfile 指令指定 Dockerfile 文件名。

    使用 arg 指令指定构建镜像时的变量。

    version: '3'
    services:
    
      webapp:
        build:
          context: ./dir     # Dockerfile 所在文件夹的路径。
          dockerfile: Dockerfile-alternate   # Dockerfile 文件名
          args:    # 构建镜像时的变量
            buildno: 1

    使用 cache_from 指定构建镜像的缓存

    build:
      context: .
      cache_from:    # 指定构建镜像的缓存
        - alpine:latest
        - corp/web_app:3.14

    command

    覆盖容器启动后默认执行的命令。

    command: echo "hello world"

    container_name

    指定容器名称。默认将会使用 项目名称_服务名称_序号 这样的格式。

    container_name: docker-web-container

    注意: 指定容器名称后,该服务将无法进行扩展(scale),因为 Docker 不允许多个容器具有相同的名称。

    devices

    指定设备映射关系。

    devices:
      - "/dev/ttyUSB1:/dev/ttyUSB0"

    depends_on

    解决容器的依赖、启动先后的问题。以下例子中会先启动 redis db 再启动 web

    version: '3'
    
    services:
      web:
        build: .
        depends_on:
          - db
          - redis
    
      redis:
        image: redis
    
      db:
        image: postgres

    注意:web 服务不会等待 redis db 「完全启动」之后才启动。

  • 相关阅读:
    浙江大学数据结构:02-线性结构3 Reversing Linked List (25分)
    浙江大学数据结构:02-线性结构2 一元多项式的乘法与加法运算 (20分)
    浙江大学数据结构:01-复杂度2 Maximum Subsequence Sum (25分)
    SQL事务--转载
    触发器--转载
    项目版本控制工具SVN介绍--转载
    项目版本控制工具VSS介绍--转载
    AE开发中ICircularArc接口的图形要素保存与形状简化--原创
    ArcGISEngine绘制椭圆--转载
    NPOI学习--转载
  • 原文地址:https://www.cnblogs.com/jin-yuana/p/10081251.html
Copyright © 2020-2023  润新知