【问题标题】:Docker Named Volume on another Partition on another hard drive另一个硬盘驱动器上另一个分区上的 Docker 命名卷
【发布时间】:2021-12-13 08:56:01
【问题描述】:

我有一个 Docker 容器在我的 PC 上运行。容器的主要功能是抓取数据,每天累积 0.3GB。我只需要过去 30 天的数据,之后我计划将其存档在硬盘驱动器上以备历史之用。然而经过几个小时的试验和错误,我未能在另一个分区上创建 Docker 卷,并且 _data 文件夹总是出现在 /var/lib/docker/volumes/ 文件夹,而分区驱动器始终为空。

我也尝试使用 docker run -v 创建卷,但它仍然在主卷文件夹中创建卷。

操作系统是Pop!_OS 20.04 LTS

我将提供有关分区的数据:

I'll provide data about the partition:

【问题讨论】:

    标签: docker external partition volumes


    【解决方案1】:

    对于 docker 卷,您无法控制 docker 将其卷保存在何处。您所能做的就是更改 docker 根目录。所以最好将你的新分区挂载在一个目录下,然后将 docker 根目录更改为这个挂载点。这样你就可以实现你想要的。您还应该考虑这样做,您的所有 docker 数据都将存储在这个新分区中。

    为了改变你的 docker 根目录,你应该首先在下面的地址创建一个名为 daemon.json 的文件:

    /etc/docker/daemon.json
    

    然后在下面添加配置:

    {
      "data-root": "/path/to/new/directory"
    }
    

    然后重启docker守护进程:

    systemctl restart docker
    

    然后你可以运行下面的命令来检查当前的 docker 根目录:

    docker info
    

    【讨论】:

    • 首先感谢我阅读了第二个答案,但找不到 daemon.json 文件,但在阅读了您的答案后,我需要创建文件的部分,真的很有帮助。它不完全是我正在寻找的解决方案,但仍然有很大帮助!但是我仍然有 1 个问题:如何将卷存储在不同的分区上,因为我需要其中一些在快速 NVMe 存储上运行,而在慢速硬盘驱动器上运行一些......
    【解决方案2】:

    如果您使用 docker volumes,您的所有卷数据都存储在默认位置 (/var/lib/docker),但您可以在 /etc/docker/daemon.json 配置文件中更改它:

    {
      ...
    
      "data-root": "/your/path/here",
    
      ...
    }
    

    重新启动 docker 服务以应用更改。

    Docker 守护进程配置文件文档here.

    【讨论】:

      猜你喜欢
      • 2017-02-21
      • 2012-12-11
      • 1970-01-01
      • 2018-07-23
      • 2016-12-11
      • 2013-11-30
      • 2011-03-24
      • 2019-11-25
      • 2019-12-10
      相关资源
      最近更新 更多