docker 部署node项目
jdocker 部署node项目
最近在研究用docker和jenkins部署服务器,写这篇文章来记录一下,方便以后忘了可以复习一下,如果有什么错漏的地方,希望各位大神指正,我马上改!
1、安装docker(ububtu 16.04.12):
sudo apt-get update sudo apt install docker.io
查看docker的版本
docker --version
2、安装Node.js
docker pull node
检查是否成功
docker images
3、修改Node.js程序
在项目根目录创建Dockerfile 文件
FROM node:16.15.0 # 指定制作我们的镜像的联系人信息(镜像创建者) MAINTAINER EOI # 将根目录下的文件都copy到container(运行此镜像的容器)文件系统的app文件夹下 ADD . /app/ # cd到app文件夹下 WORKDIR /app # 安装项目依赖包 RUN npm install # 配置环境变量 ENV HOST 0.0.0.0 ENV PORT 8003 # 容器对外暴露的端口号 EXPOSE 8003 # 容器启动时执行的命令,类似npm run start ENTRYPOINT ["node","app.js"]
4.创建image
在Dockerfile文件同目录中执行
docker build -t mynode .
构建完成后通过:docker ps -a 查看是否有该image
运行
docker run -d --name baobiaoApi -p 8003:8003 --privileged=true mynode
此时可通过IP:8003访问服务器
5、docker自启动设置
在运行docker容器时可以加如下参数:
docker run --restart=always
如果已经启动了则可以使用如下命令:
docker update --restart=always <容器ID>
至此一个简单的node项目就部署到docker上了