У своєму Dockerfile у мене є такий вислів "КОПІР":
# Copy app code
COPY /srv/visitor /srv/visitor
Само собою зрозуміло, що в моїй хост-системі в каталозі "/ srv / visitor" дійсно є мій вихідний код:
[root@V12 visitor]# ls /srv/visitor/
Dockerfile package.json visitor.js
Тепер, коли я намагаюся створити зображення за допомогою цього Dockerfile, воно зависає на кроці, коли має бути "КОПІЯ":
Step 10 : COPY /srv/visitor /srv/visitor
INFO[0155] srv/visitor: no such file or directory
Це говорить про те, що такого каталогу немає, але явно є.
Якісь ідеї?
ОНОВЛЕННЯ 1:
Мені вказувалося, що я помилявся в тому, як я розумів побудову контексту. Пропозиція була зміною заяви "COPY" на це:
COPY . /srv/visitor
Проблема полягає в тому, що я мав це таким чином, і процес збирання зупинився на наступному кроці:
RUN npm install
Він щось говорив у рядку "жодного файлу package.json не знайдено", коли він однозначно є.
ОНОВЛЕННЯ 2:
Я спробував запустити його із цією зміною в Dockerfile:
COPY source /srv/visitor/
Він зупинився при спробі запуску npm:
Step 12 : RUN npm install
---> Running in ae5e2a993e11
npm ERR! install Couldn't read dependencies
npm ERR! Linux 3.18.5-1-ARCH
npm ERR! argv "/usr/bin/node" "/usr/sbin/npm" "install"
npm ERR! node v0.10.36
npm ERR! npm v2.5.0
npm ERR! path /package.json
npm ERR! code ENOPACKAGEJSON
npm ERR! errno 34
npm ERR! package.json ENOENT, open '/package.json'
npm ERR! package.json This is most likely not a problem with npm itself.
npm ERR! package.json npm can't find a package.json file in your current directory.
npm ERR! Please include the following file with any support request:
npm ERR! /npm-debug.log
INFO[0171] The command [/bin/sh -c npm install] returned a non-zero code: 34
Отже, чи виконана копія? Якщо так, то чому npm не може знайти package.json?