这几天在用docker compose的时候突然发现有一个volume一直无法正常挂载,提示:
Error response from daemon: failed to mount local volume: mount /home/docker/container_name/data:/var/lib/docker/volumes/container_name_data/_data, flags: 0x1000: no such file or directory
起初以为是compose里的写法错误,找到官方的文档发现又发现没有错误,一直百思不得其解,后来无意中执行了一下docker volume ls,才发现原先创建的volume并没有被移除。查询资料得知,在进行docker compose down时,会自动删除原有容器以及虚拟网。但是其中定义的volumes会保留。所以如果要down的同时清理volume,那么需要在命令后添加--volumes
参数
# 内置版compose
docker compose down --volumes
# 插件版compose
docker-compose down --volumes
如果同时还要移除镜像,那么可以用下面的命令:
docker compose down --volumes --rmi all