如何配置 Docker 容器的存储选项?

How may I configure the storage options for a Docker container?

提问人:Farhim Keser 提问时间:11/8/2023 更新时间:11/8/2023 访问量:46

问:

我目前正在开发一个 Python 脚本,用于在 Ubuntu 系统上启动新的 Docker 容器。存储驱动程序是 overlay2,文件系统是 ext4。但是,在尝试运行 Docker 容器并设置存储选项时,我遇到了一条错误消息。错误内容如下:

“运行 container: 500 http+docker://localhost/v1.43/containers/create?name=ssh-container 的服务器错误:内部服务器错误(”--storage-opt 仅支持使用'pquota'挂载选项覆盖 xfs“)”

我正在寻求有关如何解决此问题的指导。

Python Docker 存储 设置

评论

0赞 Chris Becke 11/8/2023
在 /var/lib/docker 挂载满足 docker 要求的文件系统。
0赞 Farhim Keser 11/8/2023
似乎在 overlay2 存储驱动程序的情况下,仅当后备文件系统是 xfs 并使用 pquota 挂载选项挂载时,storage_opt才可用。

答:

-1赞 Sourav 11/8/2023 #1

您遇到的错误消息似乎表明您尝试设置的 --storage-opt 仅支持 XFS 文件系统上带有“pquota”挂载选项的 overlay2。

使用适当的存储驱动程序,您可以通过编辑 Docker 的守护程序配置文件(通常位于“/etc/docker/daemon.json”)来更改存储驱动程序。

{
"storage-driver": "overlay2"
}

如果不能或不想将 overlay2 驱动程序与指定的存储选项一起使用,则可以考虑使用支持所需配置的其他存储驱动程序。

dockerd --storage-driver=overlay2 #Or zfs, aufs

进行任何必要的更改后,重新启动 Docker 以应用新设置。

sudo service docker restart

注意:请确保您有一个 XFS 文件系统,如果您尚未使用 XFS,则可能需要将文件系统格式化或转换为 XFS。

供您参考(docker daemon 配置文件):

{
 "storage-driver": "overlay2",
 "storage-opts": [
  "overlay2.override_kernel_check=true",
  "overlay2.override_os_check=true",
  "overlay2.size=512M",
  "overlay2.override_base_image_cleanup=true"
 ]
}

评论

0赞 Farhim Keser 11/8/2023
感谢您的理解。你能再回顾一下这个问题吗?如前所述,当前系统的存储驱动程序是 overlay2。