2016-07-26 6 views
2

私はDockerを使い始めました。私はWebアプリケーションを設定するのに手伝いが必要です。DockerのmongoDBにWebアプリケーションをリンクする

私はモンゴルコンテナを稼働させることができます。これは最新バージョンでもあり、docker run -d --name mongo1 mongoを実行します。

私はそれは、その後、ビルドのエラーアウトをdocker run -it --link mongo1:mongo --name webapp1 webapp

を実行して、MongoDBのをリンクしてウェブアプリを起動:Error: connect ECONNREFUSED 127.0.0.1:27017

は、ここでポートを暴露する必要があるビルドです:

FROM node:latest 

RUN mkdir -p /webapp /home/nodejs && \ 
    groupadd -r nodejs && \ 
    useradd -r -g nodejs -d /home/nodejs -s /sbin/nologin nodejs && \ 
    chown -R nodejs:nodejs /home/nodejs 

WORKDIR /webapp 

COPY package.json typings.json /webapp/ 

RUN npm install 

COPY . /webapp 

RUN chown -R nodejs:nodejs /webapp 
USER nodejs 

EXPOSE 3000 
EXPOSE 27017 

CMD [ "npm", "start" ] 

私は何が欠けていますか?

EDITは:http://www.ifdattic.com/how-to-mongodb-nodejs-docker/

答えて

8

あなたnodejsアプリはlocalhost:27017どちら127.0.0.1:27017を(あなたは、コンテナ--link mongo1:mongo内部のMongoDB別名としてmongoを設定)mongo:27017を使用してMongoDBのために接続しないでください。これなどはcml.coの答えと一緒に、有用である可能性があります。

したがって、mongodb connection urlを確認してください。

ちなみに露出ポート27017は不要です。webappコンテナ

関連する問題