You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境下如何修改Hyperledger Fabric Playground默认端口?

解决Hyperledger Fabric Playground Docker端口冲突问题

看起来你可能对Docker端口映射的逻辑有点误解,或者容器启动过程中存在缓存问题,我来帮你一步步解决:

情况1:仅需修改宿主机访问端口(容器内保持8080)

你的原命令其实是正确的——docker run --name composer-playground --publish 9999:8080 --detach hyperledger/composer-playground 是将宿主机的9999端口转发到容器内部的8080端口。问题可能出在旧容器没有清理,或者你仍在访问原来的8080端口。按以下步骤操作:

  • 先停止并删除已存在的同名容器(如果之前启动过):
    docker stop composer-playground
    docker rm composer-playground
    
  • 重新执行你的启动命令:
    docker run --name composer-playground --publish 9999:8080 --detach hyperledger/composer-playground
    
  • 验证容器状态:执行 docker ps,查看容器的PORTS列是否显示 0.0.0.0:9999->8080/tcp,状态是否为Up
  • 访问Playground:打开浏览器访问 http://localhost:9999,而不是原来的8080端口

情况2:需要修改容器内部的服务端口(不使用默认8080)

如果因为某些原因必须让容器内的Playground服务监听其他端口,可以通过环境变量PORT来指定,同时调整端口映射规则:

  • 停止并删除旧容器(同上步骤)
  • 使用带环境变量的命令启动:
    docker run --name composer-playground -e PORT=9090 --publish 9999:9090 --detach hyperledger/composer-playground
    
    这里我们让容器内的服务监听9090端口,同时将宿主机9999端口映射到容器的9090端口
  • 验证:执行 docker logs composer-playground,查看日志中是否有类似 Listening on http://0.0.0.0:9090 的输出,确认服务已切换到新端口

额外检查

  • 确保宿主机的9999端口未被其他应用占用:
    • Linux/macOS:执行 netstat -tulpn | grep 9999
    • Windows:执行 netstat -ano | findstr :9999
      如果有占用,换一个未被使用的宿主机端口即可

内容的提问来源于stack exchange,提问作者user3334871

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:19:46