king

docker保存的镜像在哪儿

king 运维技术 2022-06-14 755浏览 0

docker保存的镜像在哪儿

Docker 使用两种格式来表示正在运行的进程——图像和容器,两者都将数据存储在您的计算机驱动器上。我们将讨论 Docker 提供的用于处理数据的命令,以及如何使用它们来访问图像和容器文件。

镜像和容器的区别

图像是您运行时创建的内容docker build;它们存储在像 Docker Hub 这样的容器注册表中,并包含运行应用程序的所有文件和代码。您可以将它们视为虚拟机操作系统的 ISO 文件。

容器是从映像创建的,它们就像运行应用程序的实际虚拟机。您可能有多个容器在同一个镜像上并行运行。每个容器都有自己的文件系统,可以选择使用“卷挂载”创建,将数据从主机绑定到容器。

使用 Docker 镜像存储

图像将图像的全部内容存储在您的驱动器上。每当您从互联网上提取图像时,它都会被下载和存储,通常是永久的。图像可能非常大,因此会随着时间的推移而增加,尤其是对于存储空间有限的笔记本电脑。

如果要直接访问图像数据,通常存储在以下位置:

Linux: /var/lib/docker/
windows: C:\ProgramData\DockerDesktop
苹果系统: ~/Library/Containers/com.docker.docker/Data/vms/0/

然而,接触这些数据可能是个坏主意。Docker 的存储很复杂,实际上根据它使用的存储驱动程序而变化很大。Linux 现在overlay2 在大多数发行版上默认使用,大多数最终用户甚至无法访问。弄乱这个会导致数据丢失。

相反,Docker 提供托管命令来处理图像。您可以使用简单的命令查看下载图像的所有版本:

幸运的是,它并没有看起来那么糟糕,因为 Docker 镜像以增量方式存储版本。这意味着,每当您下载新版本时,它只会替换已更改的部分。如果您经常一遍又一遍地使用相同的图像,您可能不会增加太多的存储成本。

但是,如果您使用许多不同的图像,您可能保存了许多甚至不再使用的图像。为了清理这些,Docker 提供了一个内置命令来运行垃圾收集。这将修剪所有没有引用的图像,即没有标记或没有被任何容器引用。


继续浏览有关 linuxcentosdocker 的文章
发表评论