docker-compose编排语法

文章目录

    • 一、前言
    • 二. Docker Compose 配置文件的构建参数说明
      • 配置选项
        • 2.1 version
        • 2.2 image
        • 2.3 build
        • 2.4 command 覆盖容器启动的默认命令。
        • 2.5 container_name:<项目名称><服务名称><序号>
        • 2.6 depends_on设置依赖关系,建立关联,优先级启动
        • 2.7 dns
        • 2.8 dns_search
        • 2.10 entrypoint
        • 2.11 env_file
        • 2.12 environment:镜像变量
        • 2.13 expose
        • 2.14 external_links:链接外部容器
        • 2.15 extra_hosts
        • 2.16 links:与 Docker client 的 --link 一样效果,会连接到其它服务中的容器
        • 2.17 logging
        • 2.18 labels
        • 2.19 pid
        • 2.20 port
        • 2. 21 security_opt
        • 2.22 stop_signal
        • 2.23 volumes
        • 2.24 volumes_from
        • 2.25 cap_add, cap_drop
        • 2.26 network_mode
        • 2.27 ulimits
        • 2.28 extends
        • 2.29 networks
        • 2.30 stop_grace_period
        • 2.31 secrets
        • 2.32 aliases
        • 2.33 restart
        • 2.34 devices
        • 2.35 healthcheck
        • 2.36 cgroup_parent
        • 2.37 deploy
          • labels(第二种)
          • mode(第三种)
          • placement(第四种)
          • replicas(第五种)
          • resources(第六种)
        • 2.38 endpoint_mode:访问集群服务的方式。
        • 2.39 labels
        • 2.40 configs
        • 2.42 restart_policy
        • 2.43 rollback_config
        • 2.44 update_config

一、前言

docker compose 在 Docker 容器运用中具有很大的学习意义,docker compose 是一个整合发布应用的利器。而使用 docker compose 时,懂得如何编排 docker compose 配置文件是很重要的。

关于 docker compose 技术可以查看官方文档 Docker Compose

以下的内容是确立在已经下载好 Docker 以及 Docker Compose,可参看 Docker Compose 的官方安装教程 Install Docker Compose

二. Docker Compose 配置文件的构建参数说明

首先,官方提供了一个 docker-compose.yml 配置文件的标准例子

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"
    st

你可能感兴趣的:(容器,docker,容器,docker-compose)