如何运行 Hyperedger/Composer-CLI docker 镜像来执行 composer 命令?



而不是使用作曲家-cli的npm包,我想通过docker镜像执行作曲家命令。但目前在运行容器后,它会立即退出。需要帮助才能使用正确的配置运行此容器。

此命令应为您构建容器:docker run -it --network composer_default -v ~/.composer:/home/composer/.composer --entrypoint "/bin/sh" hyperledger/composer-cli:latest

这将启动容器并带有一个交互式终端(-it(,并将由于备用入口点而保持运行状态。

另请注意,您需要在与其他 Fabric 容器相同的 Docker Bridge 上启动,并且开发 Fabric 使用--network composer_default

您可能希望保留您使用的业务网卡,以便在必须创建新的 cli 容器时它们可用,因此请启动共享卷-v ~/.composer:/home/composer/.composer

您还需要注意,默认开发环境假定 Fabric 可以在地址localhost上连接 -当您在容器内时,这将不起作用 - 因此您需要替换 connection.json 中的 URL,以便 PeerAdmin 卡指向 Docker 桥已知的地址。 像这样的sed命令应该会为您更改地址。

sed -e 's/localhost:7051/peer0.org1.example.com:7051/' -e 's/localhost:7053/peer0.org1.example.com:7053/' -e 's/localhost:7054/ca.org1.example.com:7054/' -e 's/localhost:7050/orderer.example.com:7050/' < $HOME/.composer/cards/PeerAdmin@hlfv1/connection.json > /tmp/connection.json && cp -p /tmp/connection.json $HOME/.composer/cards/PeerAdmin@hlfv1/

最后,如果您使用的是开发结构,则需要创建 PeerAdmin Card。

最新更新