您的位置:首页 > 技术中心 > 运维 >

Docker 中 YML 文件是什么?

时间:2022-02-28 15:10

Docker 中 YML 文件是什么?

Docker中YML文件一般是指Docker默认的模板文件“docker-compose.yml”,该文件用来定义的每个服务都必须通过image指令指定镜像,或使用Dockerfile的build指令进行自动构建。

Compose文件

Compose文件是一个定义服务services、网络networks和卷volumes的YAML文件,默认路径是./docker-compose.yml,可使用.yml或.yaml作为文件扩展名。

服务services定义包含应用于为该服务启动的每个容器的配置,类似传递命令行参数一样docker container create。同样,网络networks和卷volumes的定义类似于docker network create和docker volume create。正如docker container create在Dockerfile指定选项,如CMD、EXPOSE、VOLUME、ENV,在默认情况下,不需要在docker-compose.yml配置中再次指定。可以使用Bash类${VARIABLE}语法在配置值中使用环境变量。

version: "3"
services:
  redis:
    image: redis:alpine
    ports:
      - "6379"
    networks:
      - frontend
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
  db:
    image: postgres:9.4
    volumes:
      - db-data:/var/lib/postgresql/data
    networks:
      - backend
    deploy:
      placement:
        constraints: [node.role == manager]
  vote:
    image: dockersamples/examplevotingapp_vote:before
    ports:
      - 5000:80
    networks:
      - frontend
    depends_on:
      - redis
    deploy:
      replicas: 2
      update_config:
        parallelism: 2
      restart_policy:
        condition: on-failure
  result:
    image: dockersamples/examplevotingapp_result:before
    ports:
      - 5001:80
    networks:
      - backend
    depends_on:
      - db
    deploy:
      replicas: 1
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure
  worker:
    image: dockersamples/examplevotingapp_worker
    networks:
      - frontend
      - backend
    deploy:
      mode: replicated
      replicas: 1
      labels: [APP=VOTING]
      restart_policy:
        condition: on-failure
        delay: 10s
        max_attempts: 3
        window: 120s
      placement:
        constraints: [node.role == manager]
  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8080:8080"
    stop_grace_period: 1m30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]
networks:
  frontend:
  backend:
volumes:
  db-data:

推荐教程:《Docker》

以上就是Docker 中 YML 文件是什么?的详细内容,更多请关注gxlcms其它相关文章!

热门排行

今日推荐

热门手游