前言

运行fabric的test-network案例时peer节点等docker容器(Alpine Linux系统)用的是UTC时间链代码获取时间不是本地时间(CST),查了些教程发现apline支持的exec命令太少了 权限太低 修改不了容器的时区(或许是我没找到准确的办法)。

解决办法

这里发现一个教程修改链代码容器时区,通过新建Dockerfile再重新build一下 hyperledger/fabric-baseos镜像 覆盖掉 然后链代码容器就可使用这个有正确时区的镜像了(其他时区问题也可参考) 附上教程链接
hyperledger fabric - 链码初始化容器时区修改

新建Dockerfile修改内容(这里的tag是2.3,要注意自己的链码是用哪个tag的容器)

FROM hyperledger/fabric-baseos:2.3
#先切换到最高权限
USER root 
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime>/etc/timezone && echo 'Asia/Shanghai' >/etc/timezone

然后再build下注意后面有个.代表本目录

docker build -t hyperledger/fabric-baseos:2.3 .

然后再重新安装链代码 ok
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐