我尝试为REST服务器设置持久性数据存储但是无法做到。我发布了我遵循的步骤。
我为REST服务器设置持久数据存储的步骤。
启动了一个MongoDB实例: root @ ubuntu:〜#docker run -d --name mongo --network composer_default -p 27017:27017 mongo dda3340e4daf7b36a244c5f30772f50a4ee1e8f81cc7fc5035f1090cdcf46c58
创建一个新的空目录。在新目录中创建了一个名为Dockerfile的新文件,其中包含以下内容:
FROM hyperledger / composer-rest-server
运行npm install --production loopback-connector-mongodb passport-github&& \ npm cache clean&& \ ln -s node_modules .node_modules
更改为在步骤2中创建的目录,并构建Docker镜像: root @ ubuntu:〜#cd examples / dir / root @ ubuntu:〜/ examples / dir #ls Dockerfile ennvars.txt root @ ubuntu:〜/ examples / dir #docker build -t myorg / my-composer-rest-server。 将构建上下文发送到Docker守护程序4.096 kB 步骤1/2:FROM hyperledger / composer-rest-server ---> 77cd6a591726 步骤2/2:运行npm install --production loopback-connector-couch passport-github&& npm cache clean&& ln -s node_modules .node_modules --->使用缓存 ---> 2ff9537656d1 成功构建了2ff9537656d1 root @ ubuntu:〜/ examples / dir#
在同一目录中创建名为ennvars.txt的文件。 内容如下:
COMPOSER_CONNECTION_PROFILE = hlfv1 COMPOSER_BUSINESS_NETWORK = blockchainv5 COMPOSER_ENROLLMENT_ID =管理员 COMPOSER_ENROLLMENT_SECRET = adminpw COMPOSER_NAMESPACES =从不 COMPOSER_SECURITY =真 COMPOSER_CONFIG =' { "输入":" hlfv1", " orderers":[ { " url":" grpc:// localhost:7050" } ] " ca":{ " url":" http://localhost:7054", " name":" ca.example.com" }, "同龄人":[ { " requestURL":" grpc:// localhost:7051", " eventURL":" grpc:// localhost:7053" } ] " keyValStore":" /home/ubuntu/.hfc-key-store", "频道":" mychannel", " mspID":" Org1MSP", "超时":" 300" }' COMPOSER_DATASOURCES =' { " db":{ " name":" db", " connector":" mongodb", "主持人":" mongo" } }' COMPOSER_PROVIDERS =' { " github":{ "提供商":" github", " module":" passport-github", " clientID":" a88810855b2bf5d62f97", " clientSecret":" f63e3c3c65229dc51f1c8964b05e9717bf246279", " authPath":" / auth / github", " callbackURL":" / auth / github / callback", " successRedirect":" /", " failureRedirect":" /" } }'
通过以下命令加载env变量。 root @ ubuntu:〜/ examples / dir#source ennvars.txt
通过以下命令启动docker容器
root @ ubuntu:〜/ examples / dir #docker run \ -d \ -e COMPOSER_CONNECTION_PROFILE = $ {COMPOSER_CONNECTION_PROFILE} \ -e COMPOSER_BUSINESS_NETWORK = $ {COMPOSER_BUSINESS_NETWORK} \ -e COMPOSER_ENROLLMENT_ID = $ {COMPOSER_ENROLLMENT_ID} \ -e COMPOSER_ENROLLMENT_SECRET = $ {COMPOSER_ENROLLMENT_SECRET} \ -e COMPOSER_NAMESPACES = $ {COMPOSER_NAMESPACES} \ -e COMPOSER_SECURITY = $ {COMPOSER_SECURITY} \ -e COMPOSER_CONFIG =" $ {COMPOSER_CONFIG}" \ -e COMPOSER_DATASOURCES =" $ {COMPOSER_DATASOURCES}" \ -e COMPOSER_PROVIDERS =" $ {COMPOSER_PROVIDERS}" \ - 名字休息 --network composer_default \ -p 3000:3000 MYORG /我的作曲家休息服务器 942eb1bfdbaf5807b1fe2baa2608ab35691e9b6912fb0d3b5362531b8adbdd3a
它成功执行了。所以现在我应该能够通过访问环回的资源管理器页面来访问持久且安全的REST服务器 但是当试图打开上面的url时会出现以下错误。
我是否错过了任何步骤或做错了什么。
答案 0 :(得分:0)
两件事:
export
放在envvars.txt文件中的envvars前面。The FROM hyperledger/composer-rest-server
命令会将最新版本的休息服务器关闭,如果您的编辑器版本未更新,则两者将不兼容。