【问题标题】:Error when attempting to mount another volume to clickhouse docker container尝试将另一个卷挂载到 clickhouse docker 容器时出错
【发布时间】:2019-12-13 11:31:29
【问题描述】:

我一直在尝试使用 clickhouse 将卷安装到 docker 容器,特别是在 docker desktop windows 10 上。按照文档:

https://hub.docker.com/r/yandex/clickhouse-server/

在我的 $HOME 路径中的 C 驱动器上设置 docker 容器并将数据加载到等中没有问题。我现在想挂载一个自定义卷,我的 E/ 驱动器更大,因为数据库将继续运行成长。运行此程序时出现错误:

docker run -d -p 8123:8123 --name clickhousedb --ulimit nofile=262144:262144 --volume=/E:/ch/clickhousedb:/var/lib/clickhouse yandex/clickhouse-server

具体来说:

Error response from daemon: invalid mode: /var/lib/clickhouse.

任何想法可能是什么问题?

【问题讨论】:

    标签: powershell docker daemon clickhouse


    【解决方案1】:

    问题是“--volume=”之后的“/”字符,它告诉 docker CLI 将字符串拆分为:

    • 空字符串(要挂载的目录)
    • E:/ch/clickhousedb(容器内的安装点)
    • /var/lib/clickhouse(挂载方式)

    Docker 认为“/var/lib/clickhouse”是卷挂载的模式,因此出现错误消息。

    【讨论】:

      【解决方案2】:

      似乎是权限问题。能够访问E盘的根目录:

      docker run -d -p 8134:8123 --name clickhousedb --ulimit nofile=262144:262144 --volume=E:/:/var/lib/clickhouse yandex/clickhouse-server
      

      【讨论】:

      • 这样未来的读者可能会从您的回答中受益:您是如何解决权限问题的?您问题中的--volume 参数是/E:/ch/clickhousedb:/var/lib/clickhouse;在您的回答中,它是E:/:/var/lib/clickhouse - 它们在几个方面有所不同;请解释其中的区别,以及它的重要性。
      猜你喜欢
      • 2021-09-17
      • 2019-12-10
      • 1970-01-01
      • 1970-01-01
      • 2019-12-21
      • 1970-01-01
      • 1970-01-01
      • 2017-09-19
      • 1970-01-01
      相关资源
      最近更新 更多