当前位置: 首页 > 知识库问答 >
问题:

为什么将/var/hyperledger/production挂载到主机卷会导致错误?

钱远
2023-03-14
docker run   --name c_vp0   --rm -it  -v /var/run/docker.sock:/var/run/docker.sock  -v /c/Users/hyperledger/production:/var/hyperledger/production -e CORE_VM_ENDPOINT=unix:///var/run/docker.sock   -e CORE_PEER_ID=vp0   -e CORE_PEER_ADDRESSAUTODETECT=true   -e CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=noop   -e CORE_LOGGING_LEVEL=ERROR   -e CORE_SECURITY_ENABLED=true   -e CORE_SECURITY_PRIVACY=true   -e CORE_PEER_PKI_ECA_PADDR=172.17.0.50:7054   -e CORE_PEER_PKI_TCA_PADDR=172.17.0.50:7054   -e CORE_PEER_PKI_TLSCA_PADDR=172.17.0.50:7054   -e CORE_SECURITY_ENROLLID=test_vp0   -e CORE_SECURITY_ENROLLSECRET=MwYpmSRjupbT   hyperledger/fabric-peer  peer node start
panic: Error opening DB: IO error: directory: Invalid argument

我不确定这是否导致了问题,但我尝试使用chown命令将所有权/组更改为root:root,但这不起作用。

共有1个答案

哈朗
2023-03-14

leveldb和VirtualBox使用的vboxfs之间似乎存在不兼容(参见此处的示例)。我不确定是谁出了问题,但搜索结果显示,在未安装VboxFS的卷上使用leveldb时成功。

从使用VirtualBox的Docker Toolbox升级到使用Windows内置Hyper-V虚拟化的Docker for Windows。

如果您无法运行Docker for Windows(例如,您需要将Windows 7升级到至少Windows 10,则尝试通过其他方法(如NFS)将/var/hyperledger/production挂载到主机文件夹。

 类似资料:
  • 我正在尝试理解kotlin协程,我来自C#,在kotlin中有一些我不理解的地方。在这种情况下,我正在使用Qukus框架中的静态编程语言编写一个webapi。从我可以看出,如果我将控制器(或资源)函数标记为挂起函数,Qukus将自动在协程中启动它。 我的问题是,我不知道挂起该协程的首选方法是什么。我在kotlin协程上看到的绝大多数示例都使用delay()函数,该函数在内部使用suspendCan

  • 在kotlin引用的属性和字段一节中,写了以下示例: var AllByDefault:int?//错误:需要显式初始化器,隐含默认getter和setter @toniedzwiedz的回答解决了这个问题。这是我的错.我把属性和变量搞错了。

  • 问题内容: 我刚刚检查了/ var / lib / docker / volumes文件夹,发现该文件夹正以名为Docker UUID的文件夹爆炸,每个文件夹都包含一个config.json文件,其内容与 哪里 是指向主机上的文件夹的路径,该主机已通过-v开关挂载到Docker容器上。我有这样的文件夹可以追溯到我对Docker进行实验的开始,即大约3周前。 有问题的容器很久以前就已停止并且dock

  • 问题内容: 我对Docker中的整个数据量过程有疑问。基本上,这里有两个Dockerfile及其各自的运行命令: Dockerfile 1- 命令1- Dockerfile 2- 命令2- 因此,奇怪的是第一个dockerfile和命令按预期工作。docker守护程序将目录从容器装载到主机的位置。因此,我可以根据需要编辑配置文件,它们将在重新启动后保留在容器中。 但是,对于第二个dockerfil

  • 问题内容: 我有一个正在进行dockerizing的开发环境,并且我希望能够实时重新加载所做的更改而不必重建docker映像。我使用docker compose是因为redis是我应用程序的依赖项之一,我喜欢能够链接redis容器 我在我的中定义了两个容器: 我已经到了我应用程序的dockerfile中添加卷的地步,但是如何将主机的目录挂载到卷中,以便对代码的所有实时编辑都可以反映在容器中? 这是

  • 问题内容: 遇到一个错误地使用 而不是 在其代码中的人,它没有显示为编译错误。 是因为 是相同的 ? 问题答案: 没有编译错误,因为它是有效的(尽管相当无用) 一元运算符 ,其使用方式与以下方式相同: Java语言规范中的相关部分是Unary Plus运算符+(第15.15.3节) 。它指定调用一元运算会导致操作数的一元数值提升(第5.6.1节)。这意味着: * 如果操作数是编译时类型的,,,或,