Ich habe ein Docker Image, das ein VOLUME ["/ log"] hat.Docker Unterschied zwischen Dockerfile VOLUME und Andock-run -v Befehl
Beim Ausführen des Containers mounte ich einen Ordner auf dem Host.
Ich möchte, dass alle Protokolle, die von docker geschrieben werden, bei VOLUME ["/ log"] für den Host verfügbar sind.
docker run --name=test -v ${pwd}/hostlogfolder:/log dockerimage:1
Die Protokolle werden nicht
von hostlogfolder geschrieben zu werdenAber die Protokolle sind verfügbar innerhalb Docker am Standort/log
docker exec -it test bash
cd /log
Was ist der richtige Weg, um den Ordner zu montieren?
Ich möchte auf die Dateien zugreifen, die von Docker unter location/log geschrieben wurden. Dies ist ein Speicherort, den ich in der Dockerfile mit VOLUME ["/ log"] erwähnt habe. Wenn ich docker inspect ausführen, sehe ich zwei Mounts, die auf den Dateispeicherort des Andocksystems zeigen, und ein Mount, das auf den von mir bereitgestellten Hostpfad zeigt. –
unnik
Gibt es eine Möglichkeit, den Bereitstellungspunkt auf dem Host mit der Anweisung VOLUME in Dockerfile anzugeben? –
^nvm Ich habe tatsächlich einige 'Docker inspizieren einige Container | grep -e Quelle -e Ziel, die eine "VOLUME ["/einige/dir "] Direktive in ihrer" Dockerfile "hatte. Ich sah in 'Destination ->/einige/dir 'und ein automatisch erstelltes Verzeichnis auf meinem Host über'/var/lib/docker/volumes/some-container-id/_data'. Das erklärt es bisher. –