无法从Docker Compose应用容器连接到MongoDB容器可能是由于以下原因:
docker-compose.yml
文件中的服务定义正确。确保应用服务和MongoDB服务都已正确定义,并且它们位于同一个网络中。例如:version: '3.8'
services:
app:
build: .
ports:
- "8000:8000"
depends_on:
- mongo
networks:
- app-network
mongo:
image: mongo:latest
volumes:
- mongo-data:/data/db
networks:
- app-network
volumes:
mongo-data:
networks:
app-network:
docker-compose.yml
文件中定义的服务名称相同。例如,如果您的MongoDB服务名称为mongo
,则应在应用中使用mongo
作为主机名。
docker logs <container_id>
命令查看MongoDB容器的日志,以检查是否存在任何错误或警告。
docker-compose.yml
文件中定义的环境变量中设置MONGO_INITDB_DATABASE
,并在MongoDB配置文件中设置bindIp
。例如:
environment:
- MONGO_INITDB_DATABASE=mydatabase
在MongoDB配置文件(mongod.conf
)中:
net:
bindIp: 0.0.0.0
port: 27017
领取专属 10元无门槛券
手把手带您无忧上云