我创建了一个有一个管理员和两个工作人员的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
答案 0 :(得分:3)
有同样的问题。在我的例子中,服务的名称是“。”在他们中。
如果您将其从--name orderer.nokia.com更改为--name orderernokiacom,则应正确构建。
但是,我仍在尝试成功部署链码,因此不是100%确定
======================================== EDIT ====== =========================
我现在设置并运行没有任何问题。 实际上,您获得的错误来自服务名称中的“点”。
如果由于某种原因,您需要服务名称包含“。”您可以使用网络别名。
要在群集模式下部署,首先需要创建一个覆盖网络(如果您使用的是compose,则必须在撰写文件之外创建)。
然后一切都应该工作得很好。例如,看看https://github.com/endimion/HL_V1_test/blob/master/docker-swarm-compose.yml