我怎样才能让我的nodeJS容器连接到我的mongoDB容器?
我有两个相当简单的Docker容器,一个包含一个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
它们都是独立工作的,但是当我创build了两个独立的容器时,它们将不再彼此通信(为什么?)。 在线有很多关于使用或不使用 docker-compose的教程。 但他们都使用 – --link
。 哪一个是Docker的旧版function 。 所以我不想走这条路。 在2017年,要在2个docker集装箱之间build立这种连接,到底要走多远?
你可以创build一个特定的networking
docker create network -d overlay boron_mongo
然后用这样的命令启动两个容器
docker run --network=boron_mongo...
从…中提取
https://docs.docker.com/compose/networking/
首选的方法是使用docker-compose
看一下
configuration默认networking
https://docs.docker.com/compose/networking/#specifying-custom-networks