He tenido problemas para eliminar los volúmenes de Docker con Docker 1.9.1.
Eliminé todos mis contenedores detenidos para que docker ps -avuelvan vacíos.
Cuando lo uso docker volume ls, me dan una gran cantidad de contenedores Docker:
docker volume ls
DRIVER VOLUME NAME
local a94211ea91d66142886d72ec476ece477bb5d2e7e52a5d73b2f2f98f6efa6e66
local 4f673316d690ca2d41abbdc9bf980c7a3f8d67242d76562bbd44079f5f438317
local eb6ab93effc4b90a2162e6fab6eeeb65bd0e4bd8a9290e1bad503d2a47aa8a78
local 91acb0f7644aec16d23a70f63f70027899017a884dab1f33ac8c4cf0dabe5f2c
local 4932e2fbad8f7e6246af96208d45a266eae11329f1adf176955f80ca2e874f69
local 68fd38fc78a8f02364a94934e9dd3b5d10e51de5b2546e7497eb21d6a1e7b750
local 7043a9642614dd6e9ca013cdf662451d2b3df6b1dddff97211a65ccf9f4c6d47
#etc x 50
Como ninguno de estos volúmenes contiene nada importante, trato de purgar todos los volúmenes con docker volume rm $(docker volume ls -q).
En el proceso, la mayoría se eliminan, pero vuelvo:
Error response from daemon: Conflict: volume is in use
Error response from daemon: Conflict: volume is in use
Error response from daemon: Conflict: volume is in use
Error response from daemon: Conflict: volume is in use
Error response from daemon: Conflict: volume is in use
Para una porción considerable de ellos. Si no tengo ningún contenedor en primer lugar, ¿cómo se utilizan estos volúmenes?
docker
docker-machine
Tkwon123
fuente
fuente

sudo service docker stopysudo service docker start) borró todos estos volúmenes fantasma para mí. Además, parece que ahora puedo eliminar volúmenes sin problemas usando el comando docker rm -v. Las únicas diferencias notables en el uso es que he estado usando docker-compose en Ubuntu 15.10. Informaré si alguna vez puedo replicar este problema, pero de lo contrario parece que un simple reinicio será suficiente. ¡Gracias!service docker stop && rm -rf /var/lib/docker/volumes/TheVolumIdYouWantToRemove && service docker startRespuestas:
Puede usar estas funciones para eliminar brutalmente todo lo relacionado con Docker:
Puede agregarlos a su
~/Xrcarchivo, donde X es su archivo de intérprete de shell (~/.bashrcsi está usando bash) y volver a cargarlos mediante la ejecuciónsource ~/Xrc. Además, puede copiarlos y pegarlos en la consola y luego (independientemente de la opción que haya elegido antes para preparar las funciones) simplemente ejecute:También es útil para la limpieza general de Docker. Tenga en cuenta que esto también eliminará sus imágenes, no solo sus contenedores (ya sean en ejecución o no) y sus volúmenes de cualquier tipo.
fuente
docker volume rmcomando estaba fallando. A partir de los comentarios, la solución parece ser reiniciar el demonio docker para corregir el recuento de referencias.even after reboot it still says docker volume is in use..armageddondocker-compose down --volumesSin embargo, usando did (como lo sugiere @Robert K. Bell)Tal vez el volumen fue creado a través de
docker-compose? Si es así, debe ser eliminado por:¡Crédito a Niels Bech Nielsen !
fuente
Soy bastante nuevo en Docker. Estaba limpiando algunos problemas iniciales de prueba y tampoco pude eliminar un volumen. Detuve todas las instancias en ejecución, realicé una
docker rmi -f $(docker image ls -q), pero aún recibí laError response from daemon: unable to remove volume: remove uuid: volume is in use.Hice un
docker system pruney limpió lo que se necesitaba para eliminar el último volumen:docker system prunefuente
El volumen puede estar en uso por uno de los contenedores detenidos. Puede eliminar dichos contenedores por comando:
entonces puede eliminar volúmenes no utilizados
fuente
Mientras los volúmenes estén asociados con un contenedor (en ejecución o no), no se pueden eliminar.
Tienes que correr
en cada uno de los contenedores en ejecución / no en ejecución donde este volumen podría haberse montado.
Si el volumen está montado en cualquiera de los contenedores, debería verlo en la sección Montajes de la salida del comando inspeccionar . Algo como esto :-
Después de descifrar los contenedores responsables, use: -
docker rm -f container-1 container-2 ...container-nen caso de funcionamiento de contenedoresdocker rm container-1 container-2 ...container-nen caso de contenedores que no funcionanpara eliminar completamente los contenedores de la máquina host.
Luego intente eliminar el volumen con el comando: -
docker volume remove <volume-name/volume-id>fuente
docker container prunedebe ser suficiente en la mayoría de los casos.Actualmente puede usar lo que Docker ofrece ahora para una limpieza general y más completa:
Para eliminar adicionalmente los contenedores detenidos y todas las imágenes no utilizadas (no solo las imágenes colgantes), agregue el
-aindicador al comando:fuente
Estoy bastante seguro de que esos volúmenes están realmente montados en su sistema. Mire en / proc / montes y los verá allí. Es probable que necesite
sudo umount <path>osudo umount -f -n <path>. Debería poder obtener la ruta montada en / proc / mounts o a través dedocker volume inspectfuente
Debe escribir este comando con la bandera -f (force):
sudo docker volume rm -f <VOLUME NAME>fuente