搭建步骤:
1、宿主机环境
ubuntu 14.4宿主机环境(云主机);安装wget与curl(sudo apt-get install wget curl)
2、安装Docker(wget -qO- https://get.docker.com/ | sh)
3、安装Docker Compose编配工具(使用python pip工具)
*安装PIP(sudo apt-get install python-pip)
*安装Docker Compose
(pip install docker-compose)
4、拉取镜像
(docker pull node:latest/mongo:latest)
5、创建本地仓库mkdir nodeapp
cd nodeapp
# 下载并解包应用
wget *appurl*tarball
tar xvf *appurl*tarball
6、构建Dockerfiletouch(vi) Dockfile
FROM nodeMAINTAINER zhengslENV REFRESHED_AT 2015-12-10# 运行新建目录命令RUN mkdir -p /var/log/nodeapp# 将构建目录中的satimage目录打包到容器的/opt/nodeapp目录ADD satimage /opt/nodeapp# 设置当前工作目录WORKDIR /opt/nodeapp/bin# 运行npm根据packages.json更新包# RUN npm install# 挂载目录VOLUME ["/var/log/nodeapp"]# 暴露3000端口EXPOSE 3000# 接入点运行ENTRYPOINT ["node", "www"]
7、构建镜像
(docker build -t zhengsl/satimage .)
8、构建并运行容器(docker run -d --name imagemeta mongo;docker run -d --name pushimage -p 3000:3000 --link imagemeta:mongo zhengsl/satimage)or:测试:(docker run -d --name pushimage -v "$(pwd)":/data --link imagemeta:mongo -p 3000:3000 zhengsl/satimage)or:使用fig进行封装用于自动化操作pushimage: build: . ports: - "3000:3000" links: - imagemetaimagemeta: image: mongo
9、推送镜像(docker login user/pw/email;docker push zhengsl/satimage)
注:
代码更新内容:1、配置文件路径与程序启动位置(设置node启动目录为bin)2、容器链接后,mongo的路径为(更新bin目录的clientMongoUtil.js line2): 'mongodb://'+ process.env.MONGO_PORT_27017_TCP_ADDR+ ':'+ process.env.MONGO_PORT_27017_TCP_PORT+ '/sasmacDatabase'
环境变量如下图所示: