乐趣区

关于node.js:用docker部署nodejs项目CENTOS7

当初容器化技术这么炽热,作为学习,这篇文章就和大家聊一聊,我是如何应用 docker 把一个 nodejs 我的项目部署上线的。废话不多说,上面开始进入正题:

一、装置 Docker
centos7 装置 docker 请看这篇文章:https://blog.csdn.net/cbh1987…

首先在服务器上安装 Docker,参照官网极简教程,很快便能装置好,搭建 Docker 环境。(若已装置,则跳过此步骤)

要晓得是否装置胜利,执行以下命令,呈现版本号,代表装置胜利。

docker -v

二、创立 Dockerfile 文件
Dockerfile 是一个用来构建镜像的文本文件,文本内容蕴含了一条条构建镜像所需的指令和阐明。Docker 可能读取 Dockerfile 的指定进行主动构建容器。

接着将你的 node 我的项目改名成 app 目录,上传到你的 centos7 服务器。而后新建一个内容是上面代码的 Dockerfile 文件。

我用的 nodejs 我的项目是这个地址:https://gitee.com/cdk8s/cdk8s…

留神:Dockerfile 文件要在你的我的项目根目录外面,如下图:

在我的项目根目录新建 Dockerfile,执行命令:

touch Dockerfile

这个是 csdn 博客作者他写入的参考代码:

FROM mhart/alpine-node:9

WORKDIR /app
COPY . /app

RUN rm -f package-lock.json \
; rm -rf .idea \
; rm -rf node_modules \
; npm config set registry “https://registry.npm.taobao.org/” \
&& npm config set unsafe-perm true && npm install

RUN npm install pm2 -g

EXPOSE 3000
CMD [“pm2-runtime”, “start”, “app.js”, “-n”, “uni-docker”]
这个文件蕴含了以下命令:

FROM mhart/alpine-node:9 – 指定应用最新版本的 node 根底镜像
WORKDIR /app – 将容器内工作目录设置为 /app
COPY . /app – 将宿主机当前目录下内容复制到镜像 /app 目录下
RUN rm / RUN npm config set unsafe-perm true && npm install – 删除文件,设置 npm 源,再执行 npm install 装置利用所需的包(npm config set unsafe-perm true:敞开平安证书查看,没加这个构建报 npm Error: could not get uid/gid / 谬误)
EXPOSE 3000 – 对外开放容器的 3000 端口
CMD [“pm2-runtime”,“start”,“app.js”,“-n”,“uni-docker”] – 在容器启动时,执行的命令,通过 pm2 来对立治理利用

我是用上面的代码,不必 pm2 治理:

FROM mhart/alpine-node:9

WORKDIR /app
COPY . /app

RUN npm config set registry “https://registry.npm.taobao.org/”

RUN npm install

EXPOSE 3000

CMD npm start

三、构建镜像
编写完 Dockerfile 文件后,进入我的项目根目录下,就能够通过 docker build 命令来构建镜像:

sudo docker build -t uni-back-code .
期待构建胜利,执行命令查看:

docker images

四、运行容器
镜像构建实现后,就能够通过 docker run 运行容器,从而实现利用的 docker 化部暑。

执行命令:

sudo docker run -d –name uni-back-code -p 3000:3000 uni-back-code
代表启动胜利,通过你的域名 +/api/ 拜访。

查看状态

记得上一文说过 pm2 list 来查看利用信息,在 docker 里查看命令需换成 docker exec:

docker ps -a #查看容器信息,例如 CONTAINER ID
docker exec -it CONTAINER ID pm2 list

最初启动 ie 浏览器

http:// 你的服务器 ip:3000
看看成果,uni-docker 运行所有良好,部署实现。

感谢您的浏览,如有不足之处,欢送评论区多多批评指正。💖

原文地址:https://www.fang1688.cn/study…

我叫方包,关注公众号【优派编程】,学习和理解到更多编程常识和资源干货!

感激你的在看和“点赞”,祝大家事业有成,学业提高,心想事成!

退出移动版