#node.js #docker #docker-compose #nuxt.js #pm2
#node.js #docker #docker-compose #nuxt.js #pm2
Вопрос:
Я работаю над проектом nuxtjs и использую docker для его развертывания. но в моем докер-файле приложения nodejs, когда я запускаю pm2 как CMD, у меня возникает ошибка назначения для каталога сборки,
Мой узел app dockerfile:
FROM node:12.4-alpine
ADD package*.json ./
RUN npm install
RUN npm install -g pm2
ADD . .
RUN npm run build
CMD ["sh", "-c" ,"pm2-runtime start ecosystem.config.js"]
и ошибка, когда я монит pm2:
? Nuxt Fatal Error
build files found in /ecosystem.config.js/.nuxt/dist/server.
Use either `nuxt build` or `builder.build()` or start nuxt in development mode.
Как показывает ошибка, файл сборки не найден, но файлы сборки созданы и находятся в каталоге /site/.nuxt .
И ecosystem.config.js:
module.exports = {
apps: [
{
name: 'site',
exec_mode: 'cluster',
instances: '1', // Or a number of instances
script: './node_modules/nuxt/bin/nuxt.js',
cwd: './',
args: 'start',
env: {
"HOST": "0.0.0.0",
"PORT": 3000,
"APP_ENV": "production"
}
}
]
}
docker-создайте службу моего сайта:
site:
container_name: site
build:
context: ./site
dockerfile: Dockerfile
networks:
- laravel
Комментарии:
1. вы нашли решение?
2. У вас есть решение?
Ответ №1:
Попробуйте отредактировать файлы:
ecosystem.json или ecosystem.yml:
args: "start -c /xxx/xxx/nuxt.config.js"
ecosystem.config.js:
args: `start -c ${process.cwd()}/nuxt.config.js`,
nuxt.config.js:
rootDir: process.cwd()
buildDir: process.cwd() '/.nuxt/'
вот проблема на github: https://github.com/nuxt/nuxt.js/issues/8704#issuecomment-876441236