有没有办法确定我的 macOS 机器上 docker 卷的大小?
Is there a way to determine the size of a docker volume on my macOS machine?
我知道 docker volume ls
和 docker inspect -s
,但前者不显示尺寸信息,而后者即使有 --size
选项,也会忽略它卷。
有没有我遗漏的东西?
这个:
docker volume inspect --format '{{ .Mountpoint }}' volumeNameHere
将 return 卷在主机上的安装点。因此,要获得大小,只需执行以下操作:
du -sh $(docker volume inspect --format '{{ .Mountpoint }}' volumeNameHere)
Federkun 回答的第一步对我有用,它返回了如下内容:
/var/lib/docker/volumes/f4678f...b87/_data
但是当我尝试时
du -sh $(docker volume inspect --format '{{ .Mountpoint }}' volumeNameHere)
它返回了一个
du: /var/lib/docker/volumes/f4678f...b87/_data: No such file or directory
事实证明 Docker 在 macOS 上的工作方式不同。根据 ,在我可以 运行 du -sh
命令之前,我必须先 screen
进入 MacOS 使用的 docker 虚拟机。您可以通过 运行ning
sudo screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
然后你可以运行
du -sh /var/lib/docker/volumes/f4678f...
最终得到卷的大小。
您可以使用:
docker system df -v
更多信息请见https://docs.docker.com/engine/reference/commandline/system_df/
基于 Federkun 的回答:
docker run --rm -v /:/vm-root alpine du -sH /vm-root/$(docker volume inspect --format '{{ .Mountpoint }}' volumeNameHere)
正如@MikeWu 的回答所指出的,
可以看到 Docker 卷的大小:
docker system df -v
但必须滚动一下才能找到 Local Volumes space usage:
部分。
使用管道 sed
命令,例如:
docker system df -v | sed -n '/VOLUME NAME/,/^ *$/p'
将有助于提高可读性并减少对感兴趣部分的输出 - 仅从 VOLUME NAME
打印到第一个空行。
我知道 docker volume ls
和 docker inspect -s
,但前者不显示尺寸信息,而后者即使有 --size
选项,也会忽略它卷。
有没有我遗漏的东西?
这个:
docker volume inspect --format '{{ .Mountpoint }}' volumeNameHere
将 return 卷在主机上的安装点。因此,要获得大小,只需执行以下操作:
du -sh $(docker volume inspect --format '{{ .Mountpoint }}' volumeNameHere)
Federkun 回答的第一步对我有用,它返回了如下内容:
/var/lib/docker/volumes/f4678f...b87/_data
但是当我尝试时
du -sh $(docker volume inspect --format '{{ .Mountpoint }}' volumeNameHere)
它返回了一个
du: /var/lib/docker/volumes/f4678f...b87/_data: No such file or directory
事实证明 Docker 在 macOS 上的工作方式不同。根据 du -sh
命令之前,我必须先 screen
进入 MacOS 使用的 docker 虚拟机。您可以通过 运行ning
sudo screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty
然后你可以运行
du -sh /var/lib/docker/volumes/f4678f...
最终得到卷的大小。
您可以使用:
docker system df -v
更多信息请见https://docs.docker.com/engine/reference/commandline/system_df/
基于 Federkun 的回答:
docker run --rm -v /:/vm-root alpine du -sH /vm-root/$(docker volume inspect --format '{{ .Mountpoint }}' volumeNameHere)
正如@MikeWu 的回答所指出的, 可以看到 Docker 卷的大小:
docker system df -v
但必须滚动一下才能找到 Local Volumes space usage:
部分。
使用管道 sed
命令,例如:
docker system df -v | sed -n '/VOLUME NAME/,/^ *$/p'
将有助于提高可读性并减少对感兴趣部分的输出 - 仅从 VOLUME NAME
打印到第一个空行。