场景

我在节点的compose文件中进行了数据挂载:

 - ../../data/bank1/peer1:/tmp/hyperledger/bank1/peer1

但是运行是依然报错为var/hyperledger/production的权限问题,并且我也已经对../../data/bank1/peer1目录设置了操作权限

services:peer1-bank1:container_name: peer1-bank1image: hyperledger/fabric-peeruser: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"environment:- CORE_PEER_ID=peer1-bank1- CORE_PEER_ADDRESS=peer1-bank1:7051- CORE_PEER_LOCALMSPID=Bank1MSP- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=fabric-bank1- FABRIC_LOGGING_SPEC=debug- CORE_PEER_TLS_ENABLED=true- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/tls/signcerts/cert.pem- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/tls/keystore/key.pem- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/tlsca/tls-ca-cert.pem- CORE_PEER_GOSSIP_USELEADERELECTION=true- CORE_PEER_GOSSIP_ORGLEADER=false- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1-bank1:7051- CORE_PEER_GOSSIP_SKIPHANDSHAKE=false- CORE_LEDGER_STATE_STATEDATABASE=CouchDB- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer1-bank1:5984- CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME=admin- CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=adminpwworking_dir: /opt/gopath/src/github.com/hyperledger/fabric/bank1/peer1volumes:- ../chaincodeRun:/host/var/run- ../../data/bank1/peer1:/tmp/hyperledger/bank1/peer1 - ../../organizations/peerOrganizations/bank1.example.com/peers/peer1-bank1.bank1.example.com/msp:/etc/hyperledger/msp- ../../organizations/peerOrganizations/bank1.example.com/peers/peer1-bank1.bank1.example.com/tls:/etc/hyperledger/tls- ../../organizations/fabric-ca/tls-ca/crypto:/etc/hyperledger/tlscanetworks:- fabric-bank1

报错日志:

panic: Could not create _lifecycle chaincodes install path: mkdir /var/hyperledger/production: permission denied。

根本原因:

首先,Fabric Peer 默认将 fileSystemPath为 /var/hyperledger/production。这表示即使我进行了挂载,但是启动时节点依然会在producction目录下操作,所以并没有挂载正确。

然后,docker compose文件通常以root身份启动运行。但是如果像我一样在YAML文件里设置了user的字段,类似“user: "${LOCAL_UID:-1000}:${LOCAL_GID:-1000}"”,就会以其他身份进行操作。同时,由于var/hyperledger/production目录只能由root用户操作,再加上前面说的挂载不正确,所以会报错没有权限。

解决方案:

最简单的,可通过环境变量 CORE_PEER_FILESYSTEMPATH 覆盖系统默认的/var/hyperledger/productionl路径。可以换为我们自定义的。

其次,就是将挂载目录修改为系统默认的路径。

但是这两者都需要注意给宿主主机的挂载路径配置操作权限

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/923517.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/923517.shtml
英文地址,请注明出处:http://en.pswp.cn/news/923517.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app + Vue3 开发展示 echarts 图表

场景:使用 uni-app 开发手机端,需要展示 echarts 图表 1. 打开 uni-app 官网 https://uniapp.dcloud.net.cn/ 2. 点击右上角搜索 3. 点击插件市场,搜索 echarts 找到 echarts 插件 4. 下载到自己的项目中 使用详情在该页面下方.

给AI配一台手机+电脑?智谱AutoGLM上线!

早上刚坐进地铁,对着手机随口说句 “整理上周销售周报”,等你到公司打开电脑,Excel 数据统计表、PPT 汇报版已经整整齐齐躺在桌面 —— 这不是科幻片里的画面,而是智谱 AutoGLM 2.0 带来的真实体验。2025年8月20日,智谱…

NGUI--游戏登录、注册和服务器选择系统​​

项目核心思路该项目实现了一个完整的游戏账号流程:​​用户侧流程​​:新用户注册 -> 返回登录 -> 输入账号密码 -> 选择游戏服务器 -> 进入游戏。​​数据管理​​:所有数据(账号信息、服务器列表、用户选择&#xf…

自动化测试框架是软件测试的核心基础设施,通过预设规则和脚本自动执行测试用例,显著提高测试效率和覆盖率。

1. 自动化测试框架1.1 概述自动化测试框架是软件测试的核心基础设施,通过预设规则和脚本自动执行测试用例,显著提高测试效率和覆盖率。现代AI驱动的自动化测试框架结合了机器学习、自然语言处理和计算机视觉技术,实现了更智能的测试用例生成、…

在 Ubuntu 系统中利用 conda 创建虚拟环境安装 sglang 大模型引擎的完整步骤、版本查看方法、启动指令及验证方式

以下是在 Ubuntu 系统中利用 conda 创建虚拟环境安装 sglang 大模型引擎的完整步骤、版本查看方法、启动指令及验证方式,全程使用清华源加速,并包含关键注意事项: 一、完整安装步骤(基于 conda + 清华源) 1. 准备工作:安装 conda 并配置清华源 (1)安装 Miniconda #…

Unity Excel数据导入工具

UnityExcelImporterX - Unity Excel数据导入工具 自动将Excel文件(.xls, .xlsx)中的数据转换为Unity的ScriptableObject资源。 项目基于unity-excel-importer,增加了一些新特性。项目地址:github.com/nayaku/UnityExcelImporter…

np.linalg 函数一览

📚 常用 np.linalg 函数一览下面是一些最常用的功能和示例:1. np.linalg.norm() —— 计算向量或矩阵的范数python深色版本import numpy as npv np.array([3, 4]) print(np.linalg.norm(v)) # L2 范数(模长): √(34) 5.0A np.…

Linux入门(二)

计算机原理系列 欢迎大家关注「海拉鲁知识大陆」 多交流不迷路 Linux入门(二) 在上一章Linux入门(一)中rm -rf /是比较简单的哈,那么升级一下:xargs指令的作用是啥呢? 1.进程 应用的可执行文件是放在文件系统里&a…

开发与维护nodejs工具库或自定义npm包

h5打开以查看 一、初始设置:为成功发布做好准备 1. 项目初始化与结构 bash # 创建项目目录并初始化 mkdir my-awesome-lib cd my-awesome-lib npm init -y 推荐的项目结构: text my-awesome-lib/ ├── src/ # 源代码目录 │ └──…

IntelliJ IDEA 的 Git 功能

1. 克隆(Clone)项目 这是你开始的第一步。你需要将远程仓库的代码克隆到本地。 打开 IDEA,选择 Get from VCS。在弹出的窗口中,选择 Git。粘贴远程仓库的 URL(通常来自 GitHub、GitLab 等)。选择一个本地目…

fastapi全局注入mysql,单数据库

1、封装sql连接 test_db.py from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession from sqlalchemy.orm import sessionmaker from fastapi import Request, Depends# 1. 数据库连接配置 async_engine create_async_engine("mysqlaiomysql://root:root…

深度学习常见应用算力要求?

深度学习常见应用的算力要求,首先需要明确算力的核心衡量维度:计算能力:以每秒浮点运算次数(FLOPS,如 TF32/FP16/FP8 精度下的吞吐量)衡量,决定任务运行速度;显存容量:决…

邪修实战系列(5)

1、第一阶段邪修实战总览(9.1-9.30) 把第一阶段(基础夯实期)的学习计划拆解成极具操作性的每日行动方案。这个计划充分利用我“在职学习”的特殊优势,强调“用输出倒逼输入”,确保每一分钟的学习都直接服务…

Python TensorFlow的CNN-LSTM-GRU集成模型在边缘物联网数据IoT电动汽车充电站入侵检测应用

全文链接:https://tecdat.cn/?p43881 原文出处:拓端抖音号拓端tecdat 随着物联网(IoT)技术在电动汽车充电站(EVCS)中的普及,充电站不仅成为智能交通的关键节点,更因连接电网、用户设…

3dma渲染噪点成因排查及优化方案

有时候在用 3D Max 渲染完效果图,画面上总有密密麻麻的小颗粒,也就是常说的噪点,原本精致的模型和材质,一有噪点质感就掉了大半。其实多数时候,噪点问题都和渲染参数设置有关。那么出现噪点原因和解决方案有哪些&#…

【LeetCode】算法详解#15 ---环形链表II

1.题目描述 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评…

Kafka面试精讲 Day 18:磁盘IO与网络优化

【Kafka面试精讲 Day 18】磁盘IO与网络优化 在“Kafka面试精讲”系列的第18天,我们聚焦于磁盘IO与网络优化。作为支撑百万级吞吐量的分布式消息系统,Kafka的高性能不仅依赖于优秀的架构设计,更离不开对底层资源——尤其是磁盘和网络——的极…

ActiveMQ RocketMQ RabbitMQ Kafka选型及应用场景

许多时候我们都将Kafka拿来跟常用的几个消息队列作比较,将 Kafka 加入对比使得选型更加全面和实际。但请注意Kafka并非完全适用消息中间件的所有场景。这四款消息中间件定位不同,选择取决于你的具体场景。消息队列选型核心定位一句话总结RabbitMQ&#x…

STM32初始化串口重定向后printf调试信息不输出的问题

STM32初始化串口重定向后调试信息不输出的问题 Author:明月清了个风Date: 2025/9/9PS:开发stm32F745的过程中发现printf有时候不打印信息,单独调试确定了串口初始化和重定向正确,但是在系统整体调试的时候虽然正确运行…

PCA9535ECDWR2G 微控制器MCU接口芯片 ON 电子元器件解析

一、PCA9535ECDWR2G ON 元器件解析1. 是什么电子元器件? PCA9535ECDWR2G 是安森美半导体(ON Semiconductor)生产的一款16位I/O扩展器。它属于接口芯片类别,具体功能是通过IC总线为微控制器(MCU)提供额外的通…