2022-09-18 16:05:51 +08:00
|
|
|
|
FROM node:16.17.0-alpine
|
|
|
|
|
|
|
|
|
|
#创建/opt/app 目录作为部署目录,创建容器实例时,挂载此目录
|
|
|
|
|
RUN mkdir -p /opt/app
|
|
|
|
|
# 设置工作目录
|
|
|
|
|
WORKDIR /opt/app
|
2022-09-18 18:56:42 +08:00
|
|
|
|
|
2022-09-18 16:05:51 +08:00
|
|
|
|
# 将代码复制到容器中
|
2022-09-18 23:12:16 +08:00
|
|
|
|
COPY . /opt/app
|
2022-09-18 16:05:51 +08:00
|
|
|
|
|
|
|
|
|
RUN cd /opt/app
|
|
|
|
|
# 添加权限,防止依赖无法安装
|
|
|
|
|
RUN chmod -R 777 *
|
|
|
|
|
# 添加执行shell文件权限
|
|
|
|
|
RUN chmod u+x pm2.sh
|
2024-02-20 19:16:18 +08:00
|
|
|
|
RUN yarn --registry=https://registry.npmmirror.com
|
|
|
|
|
RUN npm i pm2 -g --registry=https://registry.npmmirror.com
|
2022-09-18 16:05:51 +08:00
|
|
|
|
RUN npm run build
|
|
|
|
|
|
|
|
|
|
RUN ls -l -a
|
|
|
|
|
|
|
|
|
|
# 容器对外暴露的端口号,要和node项目配置的端口号一致
|
|
|
|
|
EXPOSE 3000
|
2022-09-18 18:56:42 +08:00
|
|
|
|
# 修复容器外无法访问问题
|
|
|
|
|
ENV NUXT_HOST=0.0.0.0
|
|
|
|
|
ENV NUXT_PORT=3000
|
2022-09-18 16:05:51 +08:00
|
|
|
|
|
|
|
|
|
# 通过shell文件来执行多条命令
|
|
|
|
|
CMD ["./pm2.sh"]
|