Fabric 实例化链码遇到“容器退出”错误如何解决?

Fabric 实例化链码遇到“容器退出”错误如何解决?

fabric 实例化过程中出现容器退出错误的解决方法

在 fabric 实例化链码过程中遇到“容器退出”错误时,通常可以使用以下步骤解决:

问题描述

当官方的简单链码的 init 方法返回一个字符串时,在安装链码后,实例化阶段会出现错误:“容器退出”,错误代码为 500。

解决方案

解决方案涉及修改 docker 服务:

  1. 编辑 docker 服务配置

    vim /lib/systemd/system/docker.service
    登录后复制
  2. 添加 dns 设置
    在 execstart 参数后追加 kube-dns 的 ip 地址和宿主机网络 dns 的地址:

    --dns=10.96.0.10 --dns=192.168.0.1 --dns-search default.svc.cluster.local --dns-search svc.cluster.local --dns-opt ndots:2 --dns-opt timeout:2 --dns-opt attempts:2
    登录后复制
  3. 重启 docker 服务
    对于集群,在每个 k8s 工作节点上重复上述步骤,然后重启 docker 服务:

    systemctl daemon-reload && systemctl restart docker
    登录后复制

修改 docker 服务的 dns 设置可以解决容器退出错误,允许实例化链码成功。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容