Chcę zbudować obraz dockera dla projektu Linkurious na github, który wymaga zarówno bazy danych Neo4j, jak i Node.js.
moim pierwszym podejściem było zadeklarowanie obrazu podstawowego dla mojego obrazu, zawierającego Neo4j. Dokumenty referencyjne nie definiują „obrazu podstawowego” w żaden pomocny sposób:
Obraz podstawowy: obraz, który nie ma elementu nadrzędnego, jest obrazem podstawowym
z którego przeczytałem, że mogę mieć tylko obraz podstawowy, jeśli ten obraz nie ma samego obrazu podstawowego.
ale co to jest obraz podstawowy? czy to oznacza, że jeśli zadeklaruję neo4j / neo4j w dyrektywie FROM, to po uruchomieniu mojego obrazu baza danych neo uruchomi się automatycznie i będzie dostępna w kontenerze na porcie 7474?
czytając odniesienie do Dockera (patrz: https://docs.docker.com/reference/builder/#from ) widzę:
FROM może pojawić się wiele razy w jednym pliku Dockerfile w celu utworzenia wielu obrazów. Po prostu zanotuj ostatnie dane wyjściowe identyfikatora obrazu przez zatwierdzenie przed każdym nowym poleceniem FROM.
chcę utworzyć wiele obrazów? wydaje się, że chcę mieć pojedynczy obraz zawierający zawartość innych obrazów, np. neo4j i node.js
Nie znalazłem żadnej dyrektywy do deklarowania zależności w podręczniku referencyjnym. czy nie ma zależności, jak w RPM, gdzie w celu uruchomienia mojego obrazu kontekst wywołujący musi najpierw zainstalować obrazy, których potrzebuje?
Jestem zmieszany...
FROM
w sposóbDockerfile
. Zobacz moją zredagowaną odpowiedź poniżej.