赞
踩
Docker Compose 使用 YAML 文件来定义多服务的应用。YAML 是 JSON 的一个子集,因此也可以使用
JSON。
Docker Compose 默认使用文件名 docker-compose.yml。当然,也可以使用 -f 参数指定具体文件。
Docker Compose 的 YAML 文件包含 4 个一级 key:version、services、networks、volumes
version 是必须指定的,而且总是位于文件的第一行。它定义了 Compose 文件格式(主要是
API)的版本。注意,version 并非定义 Docker Compose 或 Docker 引擎的版本号。
services 用于定义不同的应用服务。上边的例子定义了两个服务:一个名为 lagou-mysql数据库服
务以及一个名为lagou-eureka的微服。Docker Compose 会将每个服务部署在各自的容器中。
networks 用于指引 Docker 创建新的网络。默认情况下,Docker Compose 会创建 bridge 网络。
这是一种单主机网络,只能够实现同一主机上容器的连接。当然,也可以使用 driver 属性来指定不
同的网络类型。
volumes 用于指引 Docker 来创建新的卷。
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: example/exampleapp:before ports: - 5000:80 networks: - frontend depends_on: - redis deploy: replicas: 2 update_config: parallelism: 2 restart_policy: condition: on-failure result: image: example/exampleapp: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: example/exampleapp 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: example/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-compose up -d 停止服务 docker-compose down 列出所有运行容器 docker-compose ps 查看服务日志 docker-compose logs 构建或者重新构建服务 docker-compose build 启动服务 docker-compose start 停止已运行的服务 docker-compose stop 重启服务 docker-compose restart
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。