使用docker compose将Cloudant作为docker容器运行
我尝试将此图像与docker compose一起使用,当我使用原始说明时,它可以工作,但是当我将其转换为docker compose格式时,它无法正常工作,我看到了仪表板页面,但它是空的,似乎已损坏 原始运行命令:使用docker compose将Cloudant作为docker容器运行,docker,docker-compose,cloudant,Docker,Docker Compose,Cloudant,我尝试将此图像与docker compose一起使用,当我使用原始说明时,它可以工作,但是当我将其转换为docker compose格式时,它无法正常工作,我看到了仪表板页面,但它是空的,似乎已损坏 原始运行命令: docker run \ --privileged \ --detach \ --volume cloudant:/srv \ --name cloudant-developer \ --publish 8080:
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-我确实手动执行了许可协议的命令我花了一段时间才弄明白这一点。结果表明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:
我花了一段时间才弄明白。结果表明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: