将 docker 存储引擎从 devicemapper 更改为 overlay2

问题描述 投票:0回答:2

我在生产环境中有 3 个正在运行的容器。我必须将存储策略移动到 overlay2。我提交了我的容器,并将这些提交的图像保存为

tar
文件。

现在我准备删除所有旧的 docker 东西,然后我将更改存储策略。

这个关键操作有人做过吗?在安全区有什么建议吗?

docker backup
2个回答
2
投票

注意: 由于图层,您将无法访问所有当前图像和容器!还原您的更改将使您的旧图像和容器再次可访问。您可以使用

docker save IMAGE:TAG > IMAGE.tar.gz
保存当前图像,并使用
docker load < IMAGE.tar.gz
将它们导入新的存储驱动程序。

遵循以下步骤:

停止码头工人:

sudo systemctl stop docker

编辑文件/etc/docker/daemon.json(如果不存在则创建它)并在文件中添加以下内容:

  {
  "storage-driver": "overlay2"
  }

启动泊坞窗:

sudo systemctl start docker

使用 docker info 来验证正在使用存储驱动程序:

  $ docker info
  ...
  Storage Driver: overlay2
  ...

0
投票

我不清楚提供给容器的体积是否会受到此更改的影响。我第一次尝试实现它是这样的:

无法启动守护进程:初始化 graphdriver 时出错:overlay2:后备 xfs 文件系统在没有 d_type 支持的情况下被格式化,这会导致不正确的行为。使用 ftype=1 重新格式化文件系统以启用 d_type 支持。

就我而言,这是我的根文件系统;我需要创建一个新的文件系统并将其挂载在 /var/lib/docker 上。

© www.soinside.com 2019 - 2024. All rights reserved.