[Docker] Linking Node.js and MongoDB Containers

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.

 

posted @ 2019-04-03 15:29  Zhentiw  阅读(220)  评论(0编辑  收藏  举报