zoukankan      html  css  js  c++  java
  • 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 「完全启动」之后才启动。

  • 相关阅读:
    .NET:在ASP.NET中如何进行IP限制
    vim配置文件和插件
    初学Perl的感受之数据类型
    ASP.NET伪静态详解及配置
    Wayback Machine
    对单元测试的一点感悟——这是一把双刃剑
    python中使用postgres
    第三章 匿名方法
    在C#程序中使用ocx的方法
    可扩展的 “密码强度” 代码示例
  • 原文地址:https://www.cnblogs.com/zhzhlong/p/9337784.html
Copyright © 2011-2022 走看看