已存在mongodb服务,部署doclever的问题

来源:2-1 MongoDB初始化配置

woaixuexi3946647

2020-04-27 13:47:26

以mac作为宿主机直接安装的docker,跑了两个服务,doclever和mongodb,端口分别是10001,27017

http://img.mukewang.com/climg/5ea671240902f9cd11420610.jpgdoclever的docker-compose文件

http://img.mukewang.com/climg/5ea6716009fcd36b12740810.jpgmongodb的docker-compose文件

http://img.mukewang.com/climg/5ea67188099f00a512740810.jpg但是在mac上的localhost:10001 无相应数据

http://img.mukewang.com/climg/5ea671e60906246014720980.jpg

写回答

1回答

Brian

2020-04-28

先说原因:docker会隔离两个容器,你用了两个docker-compose,没有设置网络,所以自动隔离,在doclever中去请求的localhost实际上是doclever本身。

再说解决办法:

1. 平时这一类的问题,都可以从docker ps或者docker logs -f 容器名,查找原因。

2. 把两个容器网络互通的几种方案:

2.1把两个容器跑在一个docker-compose下

你把这两个服务放在一个docker-compose文件里面,再跑

然后把DOClever的配置文件中DB_HOST,localhost:27017,改成mongo:27017,试试!

2.2 把两个容器跑在一个net模式下, Host模式

2.3 把两个容器映射到同一个网段下,使用网段的外网IP进行互访

2.4 创建相同的桥接网络,使用桥接网络设置两个容器。

0

0 学习 · 1842 问题

查看课程