Voglio creare un'immagine docker per il progetto Linkurious su GitHub, che richiede l'esecuzione sia del database Neo4j che di Node.js.
il mio primo approccio è stato quello di dichiarare un'immagine di base per la mia immagine, contenente Neo4j. I documenti di riferimento non definiscono in alcun modo utile "immagine di base":
Immagine di base: un'immagine che non ha genitore è un'immagine di base
da cui ho letto che potrei avere un'immagine di base solo se quell'immagine non ha un'immagine di base stessa.
ma cos'è un'immagine di base? significa che se dichiaro neo4j / neo4j in una direttiva FROM, che quando la mia immagine viene eseguita il database neo verrà eseguito automaticamente e sarà disponibile all'interno del contenitore sulla porta 7474?
leggendo il riferimento Docker (vedi: https://docs.docker.com/reference/builder/#from ) vedo:
FROM può apparire più volte all'interno di un singolo Dockerfile per creare più immagini. Prendi semplicemente nota dell'ultimo output dell'ID immagine dal commit prima di ogni nuovo comando FROM.
voglio creare più immagini? sembrerebbe che quello che voglio è avere una singola immagine che contenga il contenuto di altre immagini ad esempio neo4j e node.js
Non ho trovato alcuna direttiva per dichiarare le dipendenze nel manuale di riferimento. non ci sono dipendenze come in RPM dove per eseguire la mia immagine il contesto chiamante deve prima installare le immagini di cui ha bisogno?
Non ho capito bene...
FROM
in un fileDockerfile
. Vedi la mia risposta modificata di seguito.