1. 程式人生 > >[Docker] Linking Node.js and MongoDB Containers

[Docker] Linking Node.js and MongoDB Containers

install ren netcore con mon gre work rom trigger

To do communcation between containers, we need to do link between containers.

1. Run a container with a name

docker run -d --name my-postgres postgres

Give a name call ‘my-postgres‘

2. Link to Running Container By Name:

docker run -d -p 5000:5000 --link my-postgres:postgres danwahlin/aspnetcore

We want to link ‘my-postgres‘ to another container ‘danwahlin/aspnetcore‘. And you need to make sure, ‘danwahlin/aspnetcore‘ is running.

:postgres // is alias

Example how to link MongoDB container to Node.

We have a node.dockerfile:

FROM node:latest

MAINTAINER Dan Wahlin

ENV NODE_ENV
=development NEV PORT=3000 COPY ./var/www WORKDIR /var/www RUN npm install EXPORT $PORT ENTRYPOINT ["npm", "start"]

Build dockerfile:

docker build -f node.dockerfile -t danwahlin/node .

Here we point the file ‘-f node.dockerfile‘

Currently we have `node`, `mongodb` and `danwahlin/node` images. Start MongoDB container:
docker run -d --name my-mongodb mongo

Then start node container and link it to my-mongodb, give my-mongodb an alias as mongodb
docker run -d -p 3000:3000 --link my-mongodb:mongodb danwahlin/node

Start mongodb server in container:
docker exec danwahlin/node node dbSeeder.js
This will trigger `danwahlin/node` container and run `node dbSeeder.js` command.

[Docker] Linking Node.js and MongoDB Containers