【问题标题】:Running Cloudant as docker container with docker compose使用 docker compose 将 Cloudant 作为 docker 容器运行
【发布时间】:2017-03-12 08:48:36
【问题描述】:

我正在尝试将此图像 https://hub.docker.com/r/ibmcom/cloudant-developer/ 与 docker compose 一起使用,当我使用原始说明时它可以工作,但是当我将其转换为 docker compose 格式时它不能正常工作,我看到了仪表板页面,但它是空的,似乎坏了。

原来的运行命令:

docker run \
       --privileged \
       --detach \
       --volume cloudant:/srv \
       --name cloudant-developer \
       --publish 8080:80 \
       --hostname cloudant.dev \
       ibmcom/cloudant-developer 

我创建的撰写文件:

version: '3'
services:
  cloudant:
    image: ibmcom/cloudant-developer:latest
    container_name: cloudant-developer
    hostname: cloudant.dev
    ports:
      - "8080:80"
    expose:
      - "80"
    volumes:
      - cloudant:/srv
    privileged: true
volumes:
  cloudant:

感谢您的帮助。

P.S - 我确实手动执行了许可协议的命令

【问题讨论】:

    标签: docker docker-compose cloudant


    【解决方案1】:

    我花了一段时间才弄明白。原来 cloudant docker 容器绑定到默认的 docker 网络子网。具体来说,我发现 haproxy 被映射到重定向到 172.17.0.2:5984 并且失败了,因为默认情况下 docker compose 在不同的 IP 范围内创建了一个新网络。可能还有与此相关的其他问题。最终我发现你可以使用以下配置在默认的 docker 网络上运行 docker compose:

    network_mode: bridge

    因此,您的 docker-compose.yml 将如下所示:

    version: '3'
      services:
        cloudant:
          image: ibmcom/cloudant-developer:latest
          container_name: cloudant-developer
          hostname: cloudant.dev
          ports:
            - "8080:80"
          expose:
            - "80"
          volumes:
            - cloudant:/srv
          privileged: true
          network_mode: bridge
      volumes:
        cloudant:
    

    【讨论】:

      猜你喜欢
      • 2021-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-26
      • 2016-11-27
      • 1970-01-01
      相关资源
      最近更新 更多