No meu Dockerfile, tenho a seguinte instrução 'COPY':
# Copy app code
COPY /srv/visitor /srv/visitor
Não é preciso dizer que no meu sistema host, sob o diretório "/ srv / visitor", existe de fato meu código-fonte:
[root@V12 visitor]# ls /srv/visitor/
Dockerfile package.json visitor.js
Agora, quando tento criar uma imagem usando este Dockerfile, ela fica paralisada na etapa em que a "COPY" deve acontecer:
Step 10 : COPY /srv/visitor /srv/visitor
INFO[0155] srv/visitor: no such file or directory
Diz que não existe tal diretório, mas claramente existe.
Alguma idéia?
UPDATE 1:
Tem sido apontado para mim que eu estava enganado, da maneira como entendi o contexto de construção. A sugestão equivalia a mudar a declaração "COPY" para esta:
COPY . /srv/visitor
O problema é que eu tive dessa maneira, e o processo de construção parou na próxima etapa:
RUN npm install
Ele disse algo do tipo "nenhum arquivo package.json encontrado", quando claramente existe um.
UPDATE 2:
Eu tentei executá-lo com essa alteração no Dockerfile:
COPY source /srv/visitor/
Ele parou ao tentar executar o 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
Então, a cópia foi executada? Se sim, por que o npm não consegue encontrar o package.json?