zoukankan      html  css  js  c++  java
  • 基于node/mongo的App Docker化测试环境搭建

    搭建步骤:

    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'

    环境变量如下图所示:

  • 相关阅读:
    为你的 Github 博客加个 CMS -「内容管理」
    Alpha、Beta、RC、GA、LTS等软件各个版本号的含义
    WPF圆形进度条
    初试WPF代码迁移Core WPF
    dumpbin查看(Exe,Dll)是32位还是64位
    Windows Live Writer使用SyntaxHighlighter代码着色插件
    C#调用EnumDevice获取设备信息
    C#获取设备(Audio和Video)名称 简单整理
    C# Winform 换肤
    C# Winform模仿百度日历
  • 原文地址:https://www.cnblogs.com/dadream/p/5036794.html
Copyright © 2011-2022 走看看