【问题标题】:How can I create a docker volume container in specific directory?如何在特定目录中创建 docker 卷容器?
【发布时间】:2016-02-15 09:28:31
【问题描述】:

我在/ssd 安装了一个 SSD 驱动器。我想为将在容器中运行的 MySQL 服务器创建一个 docker 卷容器,并让它使用这个 SSD 驱动器进行数据存储。似乎默认情况下,docker 在/var/lib/docker 中创建数据卷容器。如何强制 docker 将 SSD 驱动器用于数据卷容器?

【问题讨论】:

    标签: docker


    【解决方案1】:

    容器的意义在于它们是分离的。没有任何方法可以通过本地文件系统来隔离“他们去哪里”。

    但是我为我的数据库做的是通过挂载:

    docker create -v /ssd:/path/to/data --name data_for_mysql <imagename> /bin/true
    

    然后您可以使用--volumes-from data_for_mysql 运行。它将直接写入文件系统。

    【讨论】:

    • 虽然...我刚刚发现了 mongodb,通过 boot2docker 使用时从文件系统挂载不起作用:stackoverflow.com/a/35402611/6309
    • 解耦...从什么?来自物理媒体?看起来它们实际上非常紧密地耦合到单个目录 /var/lib/docker
    • 文件系统。 Docker 容器应该是自包含的,而不是真正关心“它们去哪里”,因为这是操作系统的责任。由于他们如何分层,实际上很难将一些容器从“公共池”中分离出来。这就是存在文件系统挂载的原因。
    • 好的,关于那个特定的图像 - 我建议答案是使用 Dockerfile '构建你自己的'。这不是特别难。
    • 你的答案是不能创建一个实际上不将数据存储在/var/lib 中的数据卷容器吗?我在 AWS 上用完了磁盘空间,并且有一个更大的卷,我宁愿在其中存储数据而不是 var/lib。
    猜你喜欢
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 2019-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-11
    • 2018-04-06
    相关资源
    最近更新 更多