нет такого файла или каталога в COPY dockerfile - PullRequest
0 голосов
/ 08 января 2019

Я сделал следующий dockerfile, содержащий мое приложение js узла, проблема в том, что при сборке dockerfile появляется ошибка:

Sending build context to Docker daemon  2.048kB
Step 1/7 : FROM node:10
 ---> 0d5ae56139bd
Step 2/7 : WORKDIR /usr/src/app
 ---> Using cache
 ---> 5bfc0405d8fa
Step 3/7 : COPY package.json ./
COPY failed: stat /var/lib/docker/tmp/docker- 
builder803334317/package.json: no such file or directory

это мой докер-файл:

FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]

я выполнил команду: сборка sudo docker -

в мою корневую папку проекта.

Моя папка проекта проста, например:

-Project
 -app.js
 -Dockerfile
 -package.json
 -package-lock.json
 -README.md

Я что-то не так делаю?

1 Ответ

0 голосов
/ 08 января 2019

Когда вы используете синтаксис Dockerfile-on-stdin

sudo docker build - < Dockerfile

последовательность сборки выполняется в контексте, в котором только имеет Dockerfile, а другие файлы на диске отсутствуют.

Показанный вами макет каталога довольно типичен, и указание docker build на этот каталог должно работать лучше

sudo docker build .

(Это то же правило, что и правило «Dockerfiles не может получить доступ к файлам в родительских каталогах», но вместо того, чтобы отдавать текущий каталог в качестве базового каталога Docker, вы вообще не предоставляете каталог, поэтому он может даже не получить доступ к файлам в текущем каталоге.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...