docker入门nodejs+mongodb

近两年docker一直很火,最近一两天我也玩了一下docker,从网上找了一大把资料学习,有了一点点经验(碰出来的),所以打算把它记下来。

1、先拉取node:docker pull node:latest

2、在nodejs项目根目录下创建Dockerfile文件,并进行配置:

FROM node:latest

RUN mkdir -p /usr/src/school

WORKDIR /usr/src/school

COPY . /usr/src/school

WORKDIR /usr/src/school/website

RUN npm install --registry=https://registry.npm.taobao.org

EXPOSE 3000

CMD ["npm", "run", "dev-win"]

3、创建docker镜像:docker build -t schoolnode . (最后这个小数点不能忘了)

4、拉取mongo:docker pull mongo:latest

5、运行mongo:docker run --name mongo -v /usr/src/mongo:/data/db -d -p 27017:27017 mongo --auth

6、因为运行mongo时加了--auth,所以需要配置mongo用户信息:

a、先进入mongo:docker exec -it mongo /bin/bash

b、连接到admin:mongo admin

c、创建manager user:db.createUser({user:"root", pwd:"root",roles:[{role:"root",db:"admin"}]})

d、可以通过admin登录mogno,然后去创建其他数据库,并为其创建manager user,然后就可以通过创建的user登录相应的数据库了。(可以通过mongoChef Core完成)

7、运行nodejs镜像:docker run -d -p 3000:3000 --name schoolnode --link mongo:mongo schoolnode(必须要加--link,不然连接不到mongo数据库(当然,也有其他办法,此处暂时不讲),--link后面的mongo:mongo是指将mongo容器连接到此容器,别名也叫mongo)

8、测试接口,完。

你可能感兴趣的:(docker入门nodejs+mongodb)