docker 部署nestjs应用
搭建nodejs运行环境,使用了node容器运行
1.安装运行node image
docker pull node:latest
docker run -itd --name mynode node
2.准备将编译后的代码上传到主机上
3.编写dockerfile并制作镜像
s
# 引用镜像
FROM node:latest
# 作者
MAINTAINER hzh
# 执行命令,创建文件夹
RUN mkdir -p /var/publish/nest
# 将nestapi目录拷贝到镜像里,也可用COPY命令
ADD ./nestapi /var/publish/nest
# 执行镜像的工作目录
WORKDIR /var/publish/nest
# 配置系统变量,指定端口
ENV HOST 0.0.0.0
ENV PORT 3002
# 开放端口
EXPOSE 3002
# 容器启动命令
CMD ["node","dist/main.js"]
创建了Dockerfile之后,构建出镜像
注意后面的那个点一定要写
docker build -t hzh/nestapi:v1 .
因为要拷贝node_modules,比较慢
4.运行容器
docker run -d -p 3002:3002 --name nestapiv1 hzh/nestapi:v1
5.查看容器
docker exec -it 4e75d857045a bash
6.发现报错查看日志
docker logs -f 4e75d857045a
7.需要修改容器内的配置文件
先将容器内的文件copy到主机,然后修改好了在copy回去
docker cp 4e75d857045a:/var/publish/nest/dist/config/index.js /tmp/
docker cp /tmp/index.js 4e75d857045a:/var/publish/nest/dist/config/
8.成功运行
日志不报错,成功运行
参考:
docker 制作node基础镜像运行js项目
https://blog.csdn.net/du771278794/article/details/89851936
菜鸟学院