首先,我拉取了mongoDb图像
sudo docker pull mongo并运行docker mongodb容器:
sudo docker run --name database -d -p 27017:27017 mongo --noauth --bind_ip=0.0.0.0我看到我的docker容器工作正常:
300b779a63a9 mongo "docker-entrypoint..." 30 minutes ago Up 30 minutes 现在我正试着用我的docker应用程序连接到它
sudo docker run -v ~/Desktop/Template/universal_skillskill -it --link 300b779a63a9:300b779a63a9 alexa还有..。我收到连接被拒绝的消息:(
Uncaught exception: MongoError: failed to connect to server [0.0.0:27017] on first connect [MongoError: connect ECONNREFUSED 0.0.0.0:27017]
MongoError: failed to connect to server [0.0.0:27017] on first connect [MongoError: connect ECONNREFUSED 0.0.0.0:27017]我检查了一下,我的应用程序可以在本地安装mongodb,但它不能与docker mongoDb容器通信:(我做错了什么?能请聪明的人帮我一下吗?)
发布于 2018-01-02 17:55:12
您需要连接到300b779a63a9:27017,因为这是您为mongodb指定的链接名称。
发布于 2018-01-02 17:54:50
尝试使用容器database的名称进行连接,而不是使用IP。
发布于 2021-08-05 14:08:42
如果您使用这些附加参数启动容器以进行身份验证,则添加到前面的答案中
- MONGO_INITDB_ROOT_USERNAME=user
- MONGO_INITDB_ROOT_PASSWORD=password然后使用authSource=admin参数,只传递凭证将不起作用。
mongodb://<user>:<password>@<container_name>:27017/$<DB>?authSource=admin
我曾经面对过这个问题。我想,这可能会帮助到一些人。
https://stackoverflow.com/questions/48058658
复制相似问题