Es ist eine sehr grobe Erklärung, weil ich noch nicht viel verstehe, Sie können das benannte Volume verwenden, indem Sie die Datei docker-compose.yml wie unten gezeigt schreiben.
docer-compose.yml
version: '3'
services:
web:
build: .
...
volumes:
- .:/myapp
- gem_data:/usr/local/bundle
#Hier
...
volumes:
gem_data:
#Das ist wichtig.
- gem_data:/usr/local/bundle
Dies ist der benannte Pfad.
Am Ende des obigen Codes,
volumes:
gem_data:
Ohne das
ERROR: Named volume "gem_data:/usr/local/bundle" is used in service "gem_data:" but no declaration was found in the volumes section.
Ich erhalte eine Fehlermeldung und es scheint, dass ich sie nur angeben kann, wenn ich einen relativen oder einen absoluten Pfad verwende.
Es scheint grundsätzlich besser zu sein, einen benannten Pfad zu verwenden, als einen relativen Pfad.
Referenz
Wenn Sie MySQL-Daten in Docker mit Volume in das Host-Verzeichnis einbinden, ist dies bei Berechtigungen problematisch. https://qiita.com/ysd_marrrr/items/e8a50c43cff87951385c
Recommended Posts