我有2个相当简单的Docker容器,1个包含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 docker-compose。但他们都使用--link
。这是a deprecated legacy feature of Docker。所以我不想走那条路。 2017年,在2个泊坞容器之间建立连接的方式是什么?
答案 0 :(得分:0)
您可以创建特定网络
docker create network -d overlay boron_mongo
然后使用这样的命令启动两个容器
docker run --network=boron_mongo...
摘自
https://docs.docker.com/compose/networking/
首选方法是使用docker-compose
看看
配置默认网络
https://docs.docker.com/compose/networking/#specifying-custom-networks