码头工人群上的Hyperledger fabricV1

时间:2017-09-01 10:03:48

标签: docker-swarm hyperledger hyperledger-fabric

我创建了一个有一个管理员和两个工作人员的docker swarm,我正在尝试在其上部署hyperledger结构,因为我正在使用以下命令

docker service create --name orderer.nokia.com hyperledger/fabric-orderer orderer\
--env ORDERER_GENERAL_LOGLEVEL=debug \
--env ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 \
--env ORDERER_GENERAL_GENESISMETHOD=file \
--env ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block \
--env ORDERER_GENERAL_LOCALMSPID=OrdererMSP \
--env ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp \
--env ORDERER_GENERAL_TLS_ENABLED=true \
--env ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key \
--env ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt \
--env ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] \
--mount type=bind,source=../channel-artifacts/genesis.block,destination=/var/hyperledger/orderer/orderer.genesis.block \
--mount type=bind,source=../crypto-config/ordererOrganizations/nokia.com/orderers/orderer.nokia.com/msp,destination=/var/hyperledger/orderer/msp \
--mount type=bind,source=../crypto-config/ordererOrganizations/nokia.com/orderers/orderer.nokia.com/tls/,destination=/var/hyperledger/orderer/tls \
--publish 7050:7050

但低于错误

Error response from daemon: rpc error: code = 3 desc = name must be valid as a DNS name component

docker node ls

ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
o8ftuvxa3szzhgphxc71w5fv9 *   SwarmNode1-192      Ready               Active              Leader
sm7b4hf7oz9mkwksrxylu0ncq     SwarmNode3-194      Ready               Active
yag0gy3dlhu4fy8rl3iawro07     SwarmNode2-193      Ready               Active

OS:Ubuntu的

Docker版本17.06.1-ce,内部版本874a737

1 个答案:

答案 0 :(得分:3)

有同样的问题。在我的例子中,服务的名称是“。”在他们中。

如果您将其从--name orderer.nokia.com更改为--name orderernokiacom,则应正确构建。

但是,我仍在尝试成功部署链码,因此不是100%确定

======================================== EDIT ====== =========================

我现在设置并运行没有任何问题。 实际上,您获得的错误来自服务名称中的“点”。

如果由于某种原因,您需要服务名称包含“。”您可以使用网络别名。

要在群集模式下部署,首先需要创建一个覆盖网络(如果您使用的是compose,则必须在撰写文件之外创建)。

然后一切都应该工作得很好。例如,看看https://github.com/endimion/HL_V1_test/blob/master/docker-swarm-compose.yml