remove - docker run tag
¿Cuál es el propósito de VOLUME en Dockerfile? (1)
Un volumen es un dato persistente almacenado en
/var/lib/docker/volumes/...
volume
/var/lib/docker/volumes/...
-
Puede declararlo en un Dockerfile, lo que significa que cada vez que se inicia un contenedor desde la imagen, el volumen se crea ( vacío ), incluso si no tiene ninguna opción
-v
. -
Puede declararlo en tiempo de ejecución
docker run -v [host-dir:]container-dir
.
La combinación de los dos (VOLUME
+docker run -v
) significa que puede montar el contenido de una carpeta de host en su volumen persistido por el contenedor en/var/lib/docker/volumes/...
volume/var/lib/docker/volumes/...
-
docker volume create crea un volumen sin tener que definir un Dockerfile y construir una imagen y ejecutar un contenedor. Se utiliza para permitir rápidamente que otros contenedores monten dicho volumen.
Si ha persistido algún contenido en un volumen, pero desde entonces eliminó el contenedor (que por defecto no elimina su volumen asociado, a menos que esté usando docker rm -v), puede volver a adjuntar dicho volumen a un nuevo contenedor (declarando el mismo volumen)
Consulte "
Docker: ¿cómo acceder a un volumen no conectado a un contenedor?
".
Con Docker Volume Create, es fácil volver a conectar un volumen con nombre a un contenedor.
docker volume create --name aname
docker run -v aname:/apath --name acontainer
...
# modify data in /apath
...
docker rm acontainer
# let''s mount aname volume again
docker run -v aname:/apath --name acontainer
ls /apath
# you find your data back!
Estoy tratando de profundizar en mi comprensión del volumen de Docker, y estoy teniendo dificultades para descubrir las diferencias / casos de uso de:
-
El comando
docker volume create
-
La
docker run -v /path:/host_path
-
La entrada
VOLUME
en el archivoDockerfile
Particularmente, no entiendo qué sucede si combina la entrada
VOLUME
con el indicador
-v
.
Si alguien entendió bien, ¡explícamelo!