2017-06-02 7 views
0

私はかなり単純なDockerコンテナを1つ持っています.1つはNodeJSアプリケーションを含み、もう1つはMongoDBコンテナです。私のnodeJSコンテナをmongoDBコンテナに接続するにはどうしたらいいですか?

Dockerfile.nodeJS

FROM node:boron 

ENV NODE_ENV production 

# Create app directory 
RUN mkdir -p /node/api-server 
WORKDIR /node/api-server 

# Install app dependencies 
COPY /app-dir/package.json /node/api-server/ 
RUN npm install 

# Bundle app source 
COPY /app-dir /node/api-server 

EXPOSE 3000 
CMD [ "node", "." ] 

Dockerfile.mongodb

FROM mongo:3.4.4 

# Create database storage directory 
VOLUME ["/data/db"] 

# Define working directory. 
WORKDIR /data 

# Define default command. 
CMD ["mongod"] 

EXPOSE 27017 

彼らの両方が互いに独立して動作しますが、私はそれの2つの別々のコンテナを作成するとき、彼らはしませんもうお互いにコミュニケーションする(なぜ?)。オンラインでそれを行うことに関する多くのチュートリアルがありますwithまたはwithoutドッカーの作成。しかし、彼らはすべて--linkを使用します。 a deprecated legacy feature of Dockerです。だから私はその道を行くことを望んでいない。 2つのドッカーコンテナの間にこの接続を作るために2017年に行く方法は何ですか?

+1

ドッカーのドキュメントがあり、[「コンテナ間のコミュニケーション」](HTTPSであります/docs.docker.com/engine/userguide/networking/default_network/container-communication/#communication-between-containers)をトピックとして扱っています。 –

答えて

0

docker run --network=boron_mongo...

エキスを、あなたは、特定のネットワーク

docker create network -d overlay boron_mongo

を作成することができ、その後、あなたは、このようなコマンドを使用して、両方のコンテナを起動

https://docs.docker.com/compose/networking/

から/:

好適な方法は、デフォルトのネットワークに設定

を見てくださいドッキングウィンドウは、構成に使用する

https://docs.docker.com/compose/networking/#specifying-custom-networks

関連する問題