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:8.0.0
# 指定制作我们的镜像的联系人信息(镜像创建者)
MAINTAINER EOI
# 将根目录下的文件都copy到container(运行此镜像的容器)文件系统的app文件夹下
ADD . /app/
# cd到app文件夹下
WORKDIR /app
# 安装项目依赖包
RUN npm install
# 配置环境变量
ENV HOST 0.0.0.0
ENV PORT 8000
# 容器对外暴露的端口号
EXPOSE 8000
# 容器启动时执行的命令,类似npm run start
CMD ["npm", "start"]
4.创建image
在Dockerfile文件同目录中执行
docker build -t mynode .
构建完成后通过:docker ps -a 查看是否有该image
运行
docker run -d -p 8000:8000 [容器ID]
此时可通过IP:8000访问服务器
5、docker自启动设置
在运行docker容器时可以加如下参数:
docker run --restart=always
如果已经启动了则可以使用如下命令:
docker update --restart=always <容器ID>
至此一个简单的node项目就部署到docker上了