基于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执行完毕后,即可访问。

 
分类:  Docker

 

 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM