Nel mio Dockerfile ho la seguente dichiarazione "COPIA":
# Copy app code
COPY /srv/visitor /srv/visitor
Va da sé che nel mio sistema host, sotto la directory "/ srv / visitor", c'è davvero il mio codice sorgente:
[root@V12 visitor]# ls /srv/visitor/
Dockerfile package.json visitor.js
Ora, quando provo a creare un'immagine usando questo Dockerfile, si blocca nel passaggio in cui si suppone che accada "COPIA":
Step 10 : COPY /srv/visitor /srv/visitor
INFO[0155] srv/visitor: no such file or directory
Dice che non esiste una tale directory, ma chiaramente esiste.
Qualche idea?
AGGIORNAMENTO 1:
Mi è stato indicato che mi sono sbagliato, nel modo in cui ho capito il contesto di costruzione. Il suggerimento ha comportato la modifica dell'istruzione "COPIA" in questo modo:
COPY . /srv/visitor
Il problema è che l'ho fatto in questo modo e il processo di generazione si è interrotto al passaggio successivo:
RUN npm install
Diceva qualcosa sulla falsariga di "nessun file package.json trovato", quando chiaramente ce n'è uno.
AGGIORNAMENTO 2:
Ho provato a eseguirlo con questa modifica nel Dockerfile:
COPY source /srv/visitor/
Si è arrestato durante il tentativo di eseguire 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
Quindi, la copia è stata eseguita? Se sì, perché npm non è in grado di trovare package.json?