【问题标题】:ansible docker_compose networkansible docker_compose 网络
【发布时间】:2020-04-11 19:39:38
【问题描述】:

我正在尝试执行以下任务:

- docker_compose:
    project_name: traefik
    definition:
      traefik:
        image: "traefik:v2.2"
        container_name: "traefik"
        restart: always
        networks:
          - edge-router
        ports:
          - "80:80"
          - "443:443"
          # The Web UI (enabled by --api.insecure=true)
          - "8080:8080"
        volumes:
          - ./traefik.toml:/etc/traefik/traefik.toml
          - ./letsencrypt:/letsencrypt
          - ./routing:/etc/routing/
          - /var/run/docker.sock:/var/run/docker.sock:ro

在 ansible 中,它向我展示了:

Configuration error - The Compose file '/tmp/ansibley0n2s1ya/docker-compose.yml' is invalid because:\nUnsupported config option for traefik: 'networks'"

docker-compose.yaml 文件有效:

services:
  traefik:
    image: "traefik:v2.2"
    container_name: "traefik"
    restart: always
    networks:
      - edge-router
    ports:
      - "80:80"
      - "443:443"
      # The Web UI (enabled by --api.insecure=true)
      - "8080:8080"
    volumes:
      - ./traefik.toml:/etc/traefik/traefik.toml
      - ./letsencrypt:/letsencrypt
      - ./routing:/etc/routing/
      - /var/run/docker.sock:/var/run/docker.sock:ro

我应该使用什么来代替 ansible 中的网络选项?

【问题讨论】:

    标签: docker docker-compose ansible ansible-template


    【解决方案1】:

    networks 在 compose 版本 2 和 3 中可用。除非明确指定,否则 ansible 的 docker-compose 模块默认为版本 1

    更新您的定义以包含version

    - docker_compose:
        project_name: traefik
        definition:
          version: '2'
          traefik:
            image: "traefik:v2.2"
            container_name: "traefik"
            restart: always
            networks:
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      相关资源
      最近更新 更多