gpt4 book ai didi

mongodb - MongoDB,Docker,Meteor:拒绝连接

转载 作者:行者123 更新时间:2023-12-02 18:50:07 25 4
gpt4 key购买 nike

如果我运行“ meteor ”,则 meteor 工作完美。如果我安装MongoDB并在MONGO_URL设置为“mongodb://127.0.0.1:27017 / meteor”的情况下运行Meteor,那么它也可以完美运行。但是,如果我运行的Docker容器在设置了MONGO_URL的同一台机器上调用完全相同的Meteor文件,则会收到错误消息:“异步函数的回调异常:错误:无法连接到[127.0.0.1: 27017]”。逻辑将指出Docker的引入是造成此问题的原因。因此,有什么我必须做的事情,以便专门允许Meteor从容器内部调用MongoDB-例如,MongoDB端口等附加功能。

Dockerfile是:

FROM ubuntu:14.04 

MAINTAINER Me "me@me.com"

RUN apt-get update -y && apt-get install --no-install-recommends -y -q chrpath libfreetype6 libfreetype6-dev libssl-dev libfontconfig1

RUN apt-get install --no-install-recommends -y -q build-essential ca-certificates curl git gcc make nano python

ENV PATH /bin:/usr/local/sbin

RUN curl install.meteor.com | sh

ENV ROOT_URL 127.0.0.1
ENV PORT 3000
ENV MONGO_URL mongodb://127.0.0.1:27017/meteor

EXPOSE 3000

CMD [ "meteor" ]

RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

meteor 的调用如下:
docker run --name meteor-dev -it -p 3000:3000 -v /machine/meteor:/opt/meteor -w /opt/meteor meteor-dev 

最佳答案

当您运行容器时,它会创建自己的网络,该网络与主机网络隔离。
因此,当您打算使用“mongodb://127.0.0.1:27017 / meteor”连接到Mongo时,它将在容器内搜索MongoDB。

代替使用127.0.0.1,使用主机ip地址或主机名。

或者,如果您的MongoDB从容器运行,请创建一个链接,然后使用该链接启动 meteor 容器。希望这可以帮助

关于mongodb - MongoDB,Docker,Meteor:拒绝连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28864126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com