docker - Docker Thinpool 存储说明
问题描述
我正在寻找有关 Docker 存储的一些说明。在我的 CentOS 服务器中,Docker 配置了瘦池存储。
在运行容器实例时,我在 /var/lib/containers 目录中看到了它的挂载文件系统。 我的问题是:
- thinkpool 中有哪些数据存储?
- /var/lib/containers 目录中存储了哪些数据。
- 是否有任何推荐的思考池存储大小?
- Docker CIS 建议为容器创建单独的分区,如果我们使用 thinkpool 还需要创建单独的分区吗?根文件系统的 /var/lib 部分是否存在任何安全风险?
谢谢
解决方案
devicemapper 设置包含所有加载的 Docker 映像和正在运行的容器中的所有文件系统内容。它不包含命名卷或绑定安装的主机目录中的数据。
如果您可以选择升级到足够新的主机操作系统和 Docker 以使用 overlay2 存储驱动程序,那么管理起来会容易得多(正是因为您没有“选择为 Docker 分配多少空间”的问题) . 除了 Docker 自身带来的安全问题之外,使用 overlay2 或带有本地文件的 devicemapper 或带有专用分区的 devicemapper 没有特别的安全隐患。
您可能可以根据报告中报告的大小猜测您实际需要多少空间docker images
。如果您仅在 Docker Hub 上使用预构建的映像,它们通常为 200 MB 或更少,并且默认空间分配(IIRC 20 GB)实际上可能没问题。如果您使用本地构建的映像,特别是如果您不注意空间使用(您RUN apt-get install build-essential
)计划每个构建的映像为 1 GB 或更多,并根据您的需要大小。
没有什么可看的/var/lib/docker
,详细信息因安装而异。千万不要在里面闲逛。
推荐阅读
- c# - C# - Process.Start() 不会在 Windows Server 2019 上启动 ClickOnce 应用程序 - 在 2008 R2 上运行良好
- java - 在我的 Swing 应用程序中关闭弹出窗口时运行一些代码
- c# - WinForms Chart 控件中的 RectangularAnnotation 无法通过更改轴限制正确跟踪
- java - Spring Data Elasticsearch (4.x) - 在 _source 中使用 @Id 强制 id 字段
- tkinter - 当我得到 TypeError: get() missing 1 required positional argument: 'self' 时不知道如何实例化一个实例
- c++ - 在 Type 和 Wrapper 之间重新解释转换是否安全
? - codeblocks - ||错误:无法识别的命令行选项'-std=gnu++20';你是说'-std=gnu++2a'吗?| Windows 的 Codeblocks 20.03 中的错误
- flutter - 组合列表中的信息
- c# - 在 Unity 中重新启动后 PlayerPrefs 未保存
- javascript - 如何防止多文档表单页面重新加载?