您的位置:首页 > 运维架构 > Docker

基于node/mongo的App Docker化测试环境搭建

2015-12-10 17:50 274 查看
搭建步骤:

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、构建Dockerfile

  touch(vi) Dockfile

FROM node
MAINTAINER zhengsl<zhengsl@satimage.cn>
ENV 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:
- imagemeta
imagemeta:
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'

环境变量如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: