Powershell 尝试将另一个卷装入clickhouse docker容器时出错
我一直在尝试使用clickhouse将卷装入docker容器,特别是在docker desktop windows 10上。根据文件: 我在我的C驱动器上设置docker容器没有问题,它位于我的$HOME路径中,并将数据加载到等。我现在想装载一个自定义卷,我的E/drive会随着数据库的不断增长而变大。运行此操作时,我遇到一个错误:Powershell 尝试将另一个卷装入clickhouse docker容器时出错,powershell,docker,daemon,clickhouse,Powershell,Docker,Daemon,Clickhouse,我一直在尝试使用clickhouse将卷装入docker容器,特别是在docker desktop windows 10上。根据文件: 我在我的C驱动器上设置docker容器没有问题,它位于我的$HOME路径中,并将数据加载到等。我现在想装载一个自定义卷,我的E/drive会随着数据库的不断增长而变大。运行此操作时,我遇到一个错误: docker run -d -p 8123:8123 --name clickhousedb --ulimit nofile=262144:262144 --vo
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.
你知道可能是什么问题吗?似乎是权限问题。能够访问E驱动器的根目录:
docker run -d -p 8134:8123 --name clickhousedb --ulimit nofile=262144:262144 --volume=E:/:/var/lib/clickhouse yandex/clickhouse-server
问题是“-volume=”后面的“/”字符,它告诉docker CLI将字符串拆分为:
- 空字符串(要装入的目录)
- E:/ch/clickhousedb(容器内的安装点)
- /var/lib/clickhouse(安装模式)
Docker认为“/var/lib/clickhouse”是卷装载的模式,因此出现了错误消息。因此,未来的读者可能会从您的回答中受益:您是如何解决权限问题的?您问题中的
--volume
参数是/E:/ch/clickhousedb:/var/lib/clickhouse
;在您的回答中,是E:/:/var/lib/clickhouse
——它们在几个方面不同;请解释两者的区别,以及它的重要性。