docker volume删除卷的操作

prune

要使用此命令,客户端和守护程序API版本都必须至少为1.25。在客户端上使用docker version命令可以检查客户端和守护程序API版本。

docker volume prune [OPTIONS]

删除未被任何容器使用的本地卷。

OPTIONS

名称,简写 说明
--filter 提供过滤值。
--force , -f 不提示确认信息,直接删除。

rm

要使用此命令,客户端和守护程序API版本都必须至少为1.21。在客户端上使用docker version命令可以检查客户端和守护程序API版本。

docker volume rm [OPTIONS] VOLUME [VOLUME...]

删除一个或多个卷。从1.25版本起,支持一个选项--force , -f,强制删除一个或多个卷。

补充:docker 移除,裁剪,删除(prune)不使用的镜像、容器、卷、网络

参考docker prune

提供 prune命令,用于移除不使用的镜像、容器、卷、网络。

Prune images

docker image prune移除没有标签并且没有被容器引用的镜像,这种镜像称为 dangling(摇晃的) 镜像。

示例1:docker image prune

删除了redis,无标签且无引用

#docker ps -a
CONTAINER ID IMAGE  COMMAND CREATED STATUS PORTS  NAMES
# docker images
REPOSITORY    TAG  IMAGE ID  CREATED  SIZE
nginx     latest ae2feff98a0c 4 days ago  133MB
redis     <none> ef47f3b6dc11 8 days ago  104MB
centos     latest 300e315adb2f 12 days ago 209MB
ubuntu     latest f643c72bc252 3 weeks ago 72.9MB
docs/docker.github.io latest 32ed84d97e30 6 months ago 1GB
# docker image prune
# docker images
REPOSITORY    TAG  IMAGE ID  CREATED  SIZE
nginx     latest ae2feff98a0c 4 days ago  133MB
centos     latest 300e315adb2f 12 days ago 209MB
ubuntu     latest f643c72bc252 3 weeks ago 72.9MB
docs/docker.github.io latest 32ed84d97e30 6 months ago 1GB

示例2:移除所有没有容器使用的镜像 -a

docker image prune -a

跳过警告提示:--force或-f

docker image prune -f

示例3:执行过滤删除:

超过24小时创建的镜像

docker image prune -a --filter "until=24h"

关于过滤器的内容,查看 docker image prune手册

移除容器s

当停止容器,不会自动删除,除非在 docker run 时指定了 --rm。一个停止的容器可写层仍然会占用磁盘空间,所以清除它,使用 docker container prune命令。

其他参数类似 docker images prune

移除卷

卷会被一个或多个容器使用,并且占用主机空间。卷不会自动移除,因为自动移除,会破坏数据。

docker volume prune

其他参数类似 docker images prune

移除网络

Docker 网络不会占用磁盘空间,但是他们创建了 iptables规则,桥接网络服务,路由entries。清除未被容器使用的网络,这么做

docker network prune

其他参数类似 docker images prune

移除 Everything

docker system prune 命令是一个快捷方式,用于移除镜像,容器,网络。

在 Docker 17.06.0 和更早,卷也是可以移除的。在Docker 17.06.1或更高版本,需要指定参数--volumes。

示例(没有移除卷):

# docker system prune
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all dangling images
  - all build cache
Are you sure you want to continue? [y/N] y

示例(有了移除卷功能):添加--volumes

# docker system prune --volumes
WARNING! This will remove:
  - all stopped containers
  - all networks not used by at least one container
  - all volumes not used by at least one container
  - all dangling images
  - all build cache
Are you sure you want to continue? [y/N] y

其他参数类似 docker images prune

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • Docker volume 挂载卷的实现方法

    最简单的hello world输出镜像的制作是最简单的开始,但是如果我们需要修改我们的运行代码,或者有输入输出文件的时候,我们就没有办法了,每一个container运行完毕后,其分配的资源以及文件系统都会消失,那么我们就需要在本地给docker container挂载一个卷,这样在container运行的时候,container的挂载点下的文件操作,也同样会影响到给container挂载的本地卷.就像linux中的mount一样.这样我们只需要修改本地卷中的代码,而不需要修改image即可. 例

  • Dockerfile 中 VOLUME 与 docker -v 的区别说明

    Dockerfile 中的 VOLUME 挂载与 docker -v 命令挂载,两者有明显区别: 1.VOLUME Dockerfile中 VOLUME 方式挂载到宿主机上的是匿名卷,在宿主机上是自动匿名挂载到 /var/lib/docker/volumes/ 目录下的,代码如下: FROM frolvlad/alpine-java:jre8-slim MAINTAINER oas.cloud COPY nickdir . VOLUME /usr/local/oas/file/ WORKDIR

  • 如何给一个正在运行的Docker容器动态添加Volume

    之前有人问我Docker容器启动之后还能否再挂载卷,考虑mnt命名空间的工作原理,我一开始认为这很难实现.不过现在我认为是它实现的. 简单来说,要想将磁盘卷挂载到正在运行的容器上,我们需要: 使用nsenter将包含这个磁盘卷的整个文件系统mount到临时挂载点上: 从我们想当作磁盘卷使用的特定文件夹中创建绑定挂载(bind mount)到这个磁盘卷的位置: umount第一步创建的临时挂载点. 注意事项 在下面的示例中,我故意包含了$符号来表示这是Shell命令行提示符,以帮助大家区分哪些是你

  • 利用Volume在主机和Docker容器文件传输的方法

    之前写过一篇关于Docker容器和本机之间的文件传输.的文章,但是此方法相对比较繁琐一些,在查看了官方关于数据管理的文档之后发现利用volume来实现主机和容器的文件传输效率更高一点,其实也就是将本地的目录进行挂载到容器上,官方一共有三种方法:Manage data in Docker, 这里只介绍使用volume的操作:Use volumes 1.使用Volume在主机和容器之间传输文件. 在官方文档中可以看到使用如下命令即可创建一个volume: Create a volume: $ doc

  • docker volumes 文件映射方式

    背景 在做区块链日志模块时,如果容器运行,需要把日志文件映射到宿主机上以方便查看.下面介绍一下我的实现方式. 实现 通过docker-compose配置文件volumes参数 配置文件示例: volumes: - /var/run/:/host/var/run/ - ./channel-artifacts:/var/hyperledger/configs - ./fabric_logs:/tmp/fabric_logs/ 把容器中/tmp/fabric_logs目录映射到宿主机当前目录下的./f

  • Windows Docker 安装 Gitlab Volume权限问题解决方案

    记录一下 Windows10 下 Docker 安装 Gitlab 的步骤. Caution: We do not officially support running on Docker for Windows. There are known issues with volume permissions, and potentially other unknown issues. If you are trying to run on Docker for Windows, please s

  • docker volume删除卷的操作

    prune 要使用此命令,客户端和守护程序API版本都必须至少为1.25.在客户端上使用docker version命令可以检查客户端和守护程序API版本. docker volume prune [OPTIONS] 删除未被任何容器使用的本地卷. OPTIONS 名称,简写 说明 --filter 提供过滤值. --force , -f 不提示确认信息,直接删除. rm 要使用此命令,客户端和守护程序API版本都必须至少为1.21.在客户端上使用docker version命令可以检查客户端和

  • Docker容器数据卷原理及使用方法解析

    什么是容器数据卷 如果数据都在容器中,一旦容器删除,数据就会丢失! eg : mysql容器删了,就是我们常说的删库跑路. 需求:数据可以持久化,即时删掉容器,我们的数据还在 容器直接可以有一个数据共享的技术!Docker容器产生的数据,同步到本地! 这就是卷技术!目录的挂载,将我们容器的目录挂载到linux上面! 总结:卷技术就是为了实现数据的持久化和同步操作,容器间也是可以数据共享的 使用数据卷 方式一:直接使用命令来挂载 -v # 命令 docker run -it -v 主机的目录:容器

  • docker容器数据卷之具名挂载和匿名挂载问题

    目录 什么是容器数据卷 为什么需要容器数据卷 使用 如何查看是否使用了数据卷 具名挂载和匿名挂载 指定路径挂载 具名挂载 匿名挂载 容器与容器之间的数据共享 --volumes-from 什么是容器数据卷 容器数据卷就是目录的挂载,将我们的容器的目录挂载到宿主机上,从而实现打通宿主机和容器之间的文件共享功能: 为什么需要容器数据卷 docker理念就是将应用和环境打包成一个镜像:但是数据怎么办呢?且不说数据库,一个项目在运行过程种肯定会产生大量的日志,这些日志对开发人员来说是非常重要的, 因为有

  • Docker中数据卷(volume)管理的两种方式

    上篇文章给大家介绍过 docker基础知识之挂载本地目录的方法 ,今天给大家介绍Docker中数据卷(volume)管理的两种方式,具体内容如下所示: 什么是数据卷 数据卷( volume ):volume是存在于一个或多个容器中的特定文件或文件夹,这个目录以独立于联合文件系统的形式在宿主机中存在,并为数据的共享与持久化提供便利. 为什么要用数据卷 Docker分层文件系统存在的问题: Docker的镜像是由一系列的只读层组合而来的,当启动一个容器时, Docker加载镜像的所有只读层,并在最上

  • Docker容器数据卷介绍及操作示例

    目录 容器数据卷介绍 什么是数据卷 数据卷能做什么? 特点 Docker 容器数据卷操作 直接命令添加数据卷 dockerfile 添加数据卷 Docker 数据卷容器 数据卷容器简介 案例演示 容器数据卷介绍 什么是数据卷 将运用与运行的环境打包形成容器运行,运行可以伴随着容器,但是我们对数据的要求是持久化的. 容器之间希望有可能共享数据. Docker 容器产生的数据,如果不通过 docker commit 生成新的镜像,使得数据做为镜像的一部分保存下载,那么当容器删除后,数据自然也就没有了

  • Docker向数据卷Volume写入数据

    一.前言 我们知道,镜像是只读的,容器是在镜像的基础上加了一层读写层,这样容器就可以写了.既然容器可以进行写入了,那么我们就可以把一些数据放进容器里面.但是这样会有一种问题:如果容器被删除了,那么容器里面的数据也将会被删除.这该怎么解决呢?这时我们就可以使用Volume来解决这种问题. 二.volume 1.什么是volume 我们先来考虑这样一个问题:如何把源代码放进容器里面 可以在制作镜像时直接把源代码嵌入里面.(不考虑这种方式) 把源代码挂载到容器的可读写层. 那么什么是Volume呢?

  • Docker数据卷常用操作代码实例

    如果开发者使用了Dockerfile去构建镜像,也可以在构建镜像时声明数据卷,例如下面这样: FROM nginx ADD https://www.baidu.com/img/bd_logo1.png /usr/share/nginx/html/ RUN echo "hello docker volume!">/usr/share/nginx/html/index.html VOLUME /usr/share/nginx/html/ 这样就配置了一个匿名数据卷,运行过程中,将数据

  • docker挂载本地目录和数据卷容器操作

    1.docker挂载本地目录 docker可以支持把一个宿主机上的目录挂载到镜像里. 交互模式运行 docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu64 /bin/bash 后台运行 docker run -d -v /home/dock/Downloads:/usr/Downloads --name ubuntu1 ubuntu64 通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径. 现在镜像内就

  • 在docker下删除两个id相同的镜像的操作

    今天建立docker容器的时候由于疏忽,镜像的名字输错了,结果容器创建成功后,镜像中出现两个id相同的: 使用docker rmi e4a35914679d删除的时候执行失败: Error response from daemon: conflict: unable to delete e4a35914679d (must be forced) - image is referenced in one or more repositories 提示应该是该id有两个本地文件,不能用id删除. 所

随机推荐