GOOGLE ADS

вторник, 26 апреля 2022 г.

sh: 1: nuxt: не найдено при попытке докеризации приложения Nuxt

sh: 1: nuxt: not foundЯ всегда получаю эту ошибку при попытке запустить контейнер докера. Это работает только тогда, когда у меня есть модули узлов и папка.nuxt, смонтированные из моего локального. Как только я их удаляю, этот докер-контейнер начинает выдавать ту же ошибку. Вот мой докерфайл:

FROM node:16.14
WORKDIR /app
ADD package.json./
RUN npm install
ADD..

Вот мой docker-compose.yml:

version: "3.9"
services:
web:
build:.
restart: always
container_name: myapp-nuxt
volumes:
- ".:/app"
depends_on:
- "server"
environment:
- NUXT_HOST=0.0.0.0
- NUXT_PORT=3001
network_mode: "host"
command: npm run dev

PS - я пытался следовать почти всем учебникам. Проблема у всех одинаковая.


Решение проблемы

Блок volumes:скрывает абсолютно все, что делает Dockerfile и перезаписывает его другим содержимым с вашего хоста. В частности, он скрывает node_modulesсозданный каталог RUN npm installи заменяет его тем, что может оказаться на хосте в этом каталоге. Вам не нужен этот volumes:блок, и вы можете удалить его.

# volumes: <-- remove this block:
# - ".:/app" <-- don't overwrite the application code in the image

(Также подумайте об удалении ненужной container_name:опции, перемещении фиксированных параметров environment:и command:настроек в ваш файл Docker, а не отключении сети Docker с помощью network_mode: host. Вероятно, вы можете свести определение Compose только к build:строке, restart:политике, объявлению depends_on:и публикации ports:.)

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...