近兩年docker一直很火,最近一兩天我也玩了一下docker涮坐,從網(wǎng)上找了一大把資料學(xué)習(xí),有了一點點經(jīng)驗(碰出來的),所以打算把它記下來预柒。
1、先拉取node:docker pull node:latest
2毯焕、在nodejs項目根目錄下創(chuàng)建Dockerfile文件矫废,并進(jìn)行配置:
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、創(chuàng)建docker鏡像:docker build -t schoolnode . (最后這個小數(shù)點不能忘了)
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菠红、先進(jìn)入mongo:docker exec -it mongo /bin/bash
b、連接到admin:mongo admin
c难菌、創(chuàng)建manager user:db.createUser({user:"root", pwd:"root",roles:[{role:"root",db:"admin"}]})
d试溯、可以通過admin登錄mogno,然后去創(chuàng)建其他數(shù)據(jù)庫郊酒,并為其創(chuàng)建manager user遇绞,然后就可以通過創(chuàng)建的user登錄相應(yīng)的數(shù)據(jù)庫了键袱。(可以通過mongoChef Core完成)
7、運行nodejs鏡像:docker run -d -p 3000:3000 --name schoolnode --link mongo:mongo schoolnode(必須要加--link试读,不然連接不到mongo數(shù)據(jù)庫(當(dāng)然杠纵,也有其他辦法,此處暫時不講)钩骇,--link后面的mongo:mongo是指將mongo容器連接到此容器比藻,別名也叫mongo)
8、測試接口倘屹,完银亲。