我有两个 docker 容器
两个容器都在同一个网络“sj”下
启动容器后,可以从主机(Windows 11)访问“mymongodb”容器。
但是,在尝试从“mydrf”容器中的 python 代码连接到“mymongodb”容器后,主机系统上的 mongodb compass 无法连接到“mymongodb”容器。
如果容器被关闭并重新启动,主机上的 Compass 能够再次连接到“mymongodb”容器。
如何配置容器以便同时从其他容器和主机系统访问mongodb?
以下是我的
docker-compose.yml
:
version: '3.8'
services:
mongo:
image: my-db-mongo:1.0.0
container_name: mymongodb
ports:
- "27017:27017"
volumes:
- ./MongoDB:/data/db
command: mongod --bind_ip_all
networks:
- sj
drf:
image: my-drf:1.0.0
container_name: mydrf
ports:
- "8080:8080"
- "5678:5678"
volumes:
- type: bind
source: ./drf
target: /code
networks:
- sj
depends_on:
- mongo
command:
- sh
- -c
- |
pip install --upgrade pip \
&& pip install pipenv \
&& pip install -r MyRequirement.txt \
&& tail -f /dev/null
networks:
sj:
driver: bridge
尝试使用以下命令,但它不起作用:
mongod --bind_ip 0.0.0.0,host.docker.internal
docker 镜像(my-db-mongo)是使用官方 mongo 镜像创建的
来自蒙戈:7.0.6
运行 mkdir -p /data/db
暴露27017