简述
此文档以XXXLogApi-nj项目为例,讲解了将基于Node.js+Express开发的javascript项目容器化的过程。希望以后类似的项目可以以此为参照进行扩展。
XXXLogApi-nj本身是一个微服务化的项目,其作用是为系统单纯的收集相关发布日志,以便能及时的展示给用户。
***这份文档的操作,开始于编码完成之后流程。不涉及GIT和JENKINS的等的操作。
***为保持职业操作,涉及公司信息的地方作了敏感化处理。
***在这个系列中,我同时作了spring boot, beego, django, node.js框架的容器化操作,大同小异,故而只列出第一篇吧。
步骤
整个项目的操作过程如下:
ä¸ï¼ 开发好业务代码,并且测试通过。
由于javascript为解释型语言,将开发好的目录先移至制作目录下
二,下载好基础镜像,为减小镜像,基础镜像为node:9.0.0-alpine,并上传到harbor仓库。
三,编写dockerfile并生成项目镜像。
Dockerfile文件内容
FROM 1.2.3.4/public/node:9.0.0-alpine
MAINTAINER CHENGANG
WORKDIR /data
COPY prismlogapi-nj/ /data/
EXPOSE 8000
ENTRYPOINT ["node", "index.js", "8000"]
四,编写k8s的deployment文件,并部署。
xxxlognj-deployment.yaml文件内容
部署命令:
kubectl apply -f xxxlognj-deployment.yaml
五,编写k8s的service文件,并部署。
xxxlognj-deployment.yaml文件内容
部署命令:
kubectl apply -f xxxlognj-deployment.yaml
六,查看k8s里dashborad服务状态,及验证服务
七,补充