🎨 update Dockerfile

This commit is contained in:
ronger 2022-09-18 18:56:42 +08:00
parent ed4d0b580e
commit ee97b464d6
3 changed files with 16 additions and 9 deletions

View File

@ -4,23 +4,30 @@ FROM node:16.17.0-alpine
RUN mkdir -p /opt/app RUN mkdir -p /opt/app
# 设置工作目录 # 设置工作目录
WORKDIR /opt/app WORKDIR /opt/app
# 将代码复制到容器中 # 将代码复制到容器中
COPY . /opt/app COPY package.json /opt/app
COPY yarn.lock /opt/app
COPY pm2.sh /opt/app
RUN cd /opt/app RUN cd /opt/app
# 添加权限,防止依赖无法安装 # 添加权限,防止依赖无法安装
RUN chmod -R 777 * RUN chmod -R 777 *
# 添加执行shell文件权限 # 添加执行shell文件权限
RUN chmod u+x pm2.sh RUN chmod u+x pm2.sh
RUN yarn --registry=https://registry.npm.taobao.org RUN yarn --registry=https://registry.npm.taobao.org
RUN npm i pm2 -g --registry=https://registry.npm.taobao.org RUN npm i pm2 -g --registry=https://registry.npm.taobao.org
# 将代码复制到容器中
COPY . .
RUN npm run build RUN npm run build
RUN ls -l -a RUN ls -l -a
# 容器对外暴露的端口号要和node项目配置的端口号一致 # 容器对外暴露的端口号要和node项目配置的端口号一致
EXPOSE 3000 EXPOSE 3000
# 修复容器外无法访问问题
ENV NUXT_HOST=0.0.0.0
ENV NUXT_PORT=3000
# 通过shell文件来执行多条命令 # 通过shell文件来执行多条命令
CMD ["./pm2.sh"] CMD ["./pm2.sh"]

View File

@ -5,15 +5,15 @@
"script": "./node_modules/nuxt/bin/nuxt.js", "script": "./node_modules/nuxt/bin/nuxt.js",
"args": "start", "args": "start",
"env": { "env": {
"NODE_ENV": "production", "NODE_ENV": "production"
"VUE_APP_TITLE": "production" },
"env_test": {
"NODE_ENV": "test"
}, },
"env_dev": { "env_dev": {
"NODE_ENV": "development", "NODE_ENV": "development"
"VUE_APP_TITLE": "development"
}, },
"env_prod": { "env_prod": {
"NODE_ENV": "production", "NODE_ENV": "production"
"VUE_APP_TITLE": "production"
} }
} }

2
pm2.sh
View File

@ -1,3 +1,3 @@
#!/bin/sh #!/bin/sh
pm2 start pm2.json pm2 start pm2.json --env $APP_ENV #启动pm2$APP_ENVdocker运行时候传入的参数
pm2 logs pm2 logs