无法从Docker部署的NodeJS应用访问MongoDB容器如何解决
解决方案
你使用的连接地址和端口不符合Docker容器间的通信规则,调整以下配置即可:
- 主机地址填写
db:同一个docker-compose管理的服务默认处于同一内部网络,可直接用服务名作为主机名互相访问,无需使用宿主机主机名 - 端口填写
27017:你映射的27018是Mongo容器暴露给宿主机/外部网络访问的端口,容器内部通信直接使用Mongo默认端口27017即可 - 补充认证信息:你在配置中设置了Mongo的默认管理员账号为
root、密码为example,连接时需要填写对应的认证信息,否则也会出现连接失败问题
如果确实需要使用宿主机地址访问,可将主机替换为宿主机的内网IP(而非主机名),端口仍使用27018即可,该方案不如直接用服务名访问稳定,不推荐使用。
内容的提问来源于stack exchange,提问作者cramos24
相关产品推荐
相关产品推荐

