zoukankan      html  css  js  c++  java
  • 基于Docker部署nodejs应用

    基于Docker部署nodejs应用

    背景

    公司基于Vue.js的项目最近需要部署到云端,因此需要先行在公司内部Docker环境下验证相关技术,因而有本文之前提。
    本文展示在Docker容器中,应用部署Nodejs程序。

    获取基础镜像

    Docker Hub中有官方node镜像,按照自己的需求直接获取对应版本的image即可。我获取的是8.0-alpine版本,因为基于alpine的node镜像足够小,仅有63.7 MB。

    获取源码

    从源码库上,获取到整个源代码工程。(过程略)

    编写Dockerfile

    首先,我们确立文档模型。目录结构如下:

    ~/nodejs
        Order/        [nodejs源码目录]
        Dockerfile
    

    Dockerfile内容如下

    # 引用镜像
    FROM node:8.0-alpine
    
    # 作者
    MAINTAINER yubing
    
    # 执行命令,创建文件夹
    RUN mkdir -p /home/Order
    
    # 将Order目录拷贝到镜像里
    ADD ./Order /home/Order
    
    # 指定工作目录
    WORKDIR /home/Order
    
    # 安装依赖及构建node应用
    RUN npm install
    RUN npm build
    
    # 配置系统变量,指定端口
    ENV HOST 0.0.0.0
    ENV PORT 8081
    
    # 将端口8081开放
    EXPOSE 8081
    
    # 容器启动命令
    CMD ["npm", "start"]
    

    构建镜像

    在Dockerfile所在目录执行docker build命令,构建镜像。
    docker build --rm -t orderui:20180531 .
    其中,--rm 是删除构建过程中,产生的临时镜像,-t 是指定镜像名称及标识,如:orderui:20180531,最后. 代表默认选择Dockerfile为构建文件。

    创建容器

    docker run -p 8081:8081 --name orderui -d orderui:20180531
    -p 是指定端口映射,--name 给容器命名,-d 后台执行

    稍等片刻,等npm start执行完毕后,即可访问。

  • 相关阅读:
    Java-列出所有系统属性
    Java-一个数组中的元素复制到另一个数组
    Java-将字符串转为数字
    Java单例模式简单实现
    Spring注解@Component、@Repository、@Service、@Controller
    VisualGDB系列2:VisualGDB对Linux平台的支持特性
    VisualGDB系列1:VisualGDB总体概述
    Docker入门(七):部署app
    Docker入门(六):Stacks
    Docker入门(五):Swarms
  • 原文地址:https://www.cnblogs.com/yfalcon/p/9114811.html
Copyright © 2011-2022 走看看