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:.)
Комментариев нет:
Отправить комментарий