首页 > 解决方案 > 如何运行 Hyperledger Composer Rest Server docker 镜像?

问题描述

我已经提取了 hyperledger/composer-rest-server docker 镜像,现在如果我想运行这个 docker 镜像,那么我应该在哪个端口上公开?就像下面提到的。
docker run --name composer-rest-server --publish XXXX:YYYY --detach hyperledger/composer-rest-server
这里请告诉我应该用什么替换 XXXX 和 YYYY?

标签: dockerhyperledger-fabrichyperledgerhyperledger-composer

解决方案


我使用以下命令在容器中运行其余服务器:

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

对于 Published Port,第一个元素是将在 Docker 主机上使用的端口,第二个元素是它在容器内转发到的端口。(容器内的端口默认总是3000,修改起来比较复杂。)

我将 2 个环境变量传递到 REST 服务器将识别的容器中 - 命名空间只是使端点保持简单,但 COMPOSER_CARD 对于 REST 服务器正常启动至关重要。

我还在 Docker 主机和存储卡片的容器之间共享一个卷,以便 REST 服务器可以找到环境变量中引用的 COMPOSER_CARD。

警告:如果您尝试使用 Development Fabric 测试 REST 服务器,您需要了解 Docker 容器的 IP 网络和寻址 - 默认情况下,Composer 业务网卡将使用localhost作为 Fabric 服务器的地址构建,但是您不能在 REST 服务器容器中使用localhost,因为这将在容器内重定向并且无法找到 Fabric。

Composer Docs中有一个教程专注于多用户身份验证,但它也涵盖了使用 REST 服务器容器的网络方面。这里有关于 REST 服务器的一般信息。


推荐阅读