当前位置: 首页 > 知识库问答 >
问题:

使用docker compose运行Cloudant作为docker容器

公良凯
2023-03-14

我正在尝试使用这张图片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:

谢谢你的帮助。

另外,我确实手动执行了许可协议的命令

共有1个答案

公孙弘图
2023-03-14

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

网络模式:桥接

所以,你的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:
 类似资料:
  • 问题内容: 我从dockerfile构建了Docker映像。我看到映像已成功构建,但是该如何处理?它不应该能够作为容器运行吗? 问题答案: 运行它的具体方法取决于您是否为图像指定了标签/名称。 使用名称(让我们使用 Ubuntu ): 没有名称,只需使用ID: 请参阅 Docker运行参考 以获取更多信息。

  • 但是只有使用运行它才允许用户通过终端与容器化进程交互。所以我想知道,“分配一个伪tty”是什么意思,因为即使在没有的情况下运行,进程写入的内容也会传递到终端(进程将有一个管道作为stdout,而不是tty)? 我读到这个答案说,您可以运行来获得“终端支持”,例如文本着色等。我已经做了以下实验: 并运行此映像,不使用。因为我是从终端运行它(总是从某个终端运行,不是吗?)我能看到一个红色的“你好世界”

  • 可以在Docker Gradle容器中运行Gretty项目吗? 通常情况下,Gretty任务< code>tomcatRun会启动Tomcat应用程序服务器,您可以在http://localhost:8080/app-name上浏览应用程序。使用Docker Gradle image,任务可以成功启动,但之后容器会立即终止。 复制问题的步骤: < li >安装Docker。 <李>克隆https:

  • 在浏览了SOF的以下链接后,我仍然面临着这个问题,没有任何推理或解决方案。 参考资料: 连接到mysql docker容器 Mysql 5.7在我的本地计算机中作为容器运行。服务器启动后,使用root用户或创建的新用户连接到服务器时,会在localhost/0.0.0/127.0.0.1上发生故障。即使在禁用firewald之后,连接也会失败,并出现相同的错误。我可能对这种连接做了一些非常错误的事

  • 问题内容: 我要完成的工作是在已经使用Ansible在Digital Ocean Ubuntu / Docker Droplet上创建的Docker容器内运行命令。 似乎找不到任何东西,或者我主要是缺少一些东西。这是我在剧本中完成的任务。我对Ansible非常陌生,因此任何建议或智慧都将不胜感激。 问题答案: 您应该能够使用以下命令执行脚本(包含命令序列): 应该可以通过Ansible流程访问。

  • 问题内容: 。 基本思想是使用音频和ui(vlc,firefox,skype等)运行应用程序 我正在使用pulseaudio搜索docker容器,但是找到了所有在tcp上使用pulseaudio流传输的容器。(应用程序的安全沙箱) https://gist.github.com/hybris42/ce429de428e5af3a344a https://github.com/jlund/docke