我已经提取了hyperledger / composer-rest-server docker镜像,现在如果我想运行这个docker镜像,那么我应该在哪个端口上曝光?如下所述。
docker run --name composer-rest-server --publish XXXX:YYYY --detach hyperledger / composer-rest-server
请告诉我应该替换XXXX& YYYY?
答案 0 :(得分:0)
我使用命令在容器中运行其余服务器,如下所示:
docker run -d \
-e COMPOSER_CARD="admin@test-net" \
-e COMPOSER_NAMESPACES="never" \
-v ~/.composer:/home/composer/.composer \
--name rest -p 3000:3000 \
hyperledger/composer-rest-server
对于已发布的端口,第一个元素是将在Docker主机上使用的端口,第二个元素是将其转发到容器内的端口。 (默认情况下,容器内的端口始终为3000,更改起来更复杂。)
我将2个环境变量传递到REST服务器将识别的Container中 - 命名空间只保持端点简单,但COMPOSER_CARD对于REST服务器正常启动至关重要。
我还在Docker Host和存储 Cards 的Container之间共享一个卷,以便REST服务器可以找到环境变量中引用的COMPOSER_CARD。
警告:如果您尝试使用Development Fabric测试REST服务器,则需要了解Docker容器的IP网络和寻址 - 默认情况下,将使用Composer Business Network Cards构建 localhost 作为Fabric服务器的地址,但您无法在REST服务器容器中使用 localhost ,因为它将在容器内重定向并且无法找到Fabric 。
有一个tutorial in the Composer Docs专注于多用户身份验证,但它也涵盖了使用REST服务器容器的网络方面。有关REST服务器here的一般信息。