docker - 将 WebAgent 作为 docker 容器启动
问题描述
我正在尝试使用 Docker 以及 docker-compose.yml 文件中的 Web 代理部署 GridGain Web 控制台。我根据本指南https://www.gridgain.com/docs/web-console/latest/deploying-web-console-docker进行了尝试,但 web-agent 不是 docker 部署的一部分。
我尝试修改 docker-compose.yml:
version: '2.4'
services:
backend:
image: gridgain/gridgain-web-console-backend:2020.05.00
# Restart on crash.
restart: always
environment:
# Mail settings
#- SPRING_MAIL_HOST=
#- SPRING_MAIL_PORT=
#- SPRING_MAIL_USERNAME=
#- SPRING_MAIL_PASSWORD=
- JVM_OPTS=
volumes:
- ${PWD}/Users:/opt/gridgain-web-console-server/work
frontend:
depends_on:
- backend
image: gridgain/gridgain-web-console-frontend:2020.05.00
ports:
# Proxy HTTP nginx port (HOST_PORT:DOCKER_PORT)
- 80:8008
container_name: frontend
webagent:
depends_on:
- frontend
- backend
image: gridgain/gridgain-web-agent:2020.05.00
environment:
- TOKENS=59f9d111-eaad-405b-a3c8-310e9245f943
- SERVER_URI=frontend:80
它不起作用。始终 Web 代理无法连接到服务器(GridGain 控制台)。我通过它运行它docker-compose up
我得到以下堆栈跟踪:
webagent_1 | [2020-08-29T12:03:56,213][INFO ][Connect thread][WebSocketRouter] Connecting to server: frontend:80
webagent_1 | [2020-08-29T12:03:56,220][WARN ][Connect thread][AgentUtils] Failed to configure proxy.
webagent_1 | java.net.URISyntaxException: Expected scheme-specific part at index 6: https:
webagent_1 | at java.net.URI$Parser.fail(URI.java:2848) ~[?:1.8.0_242]
webagent_1 | at java.net.URI$Parser.failExpecting(URI.java:2854) ~[?:1.8.0_242]
webagent_1 | at java.net.URI$Parser.parse(URI.java:3057) ~[?:1.8.0_242]
webagent_1 | at java.net.URI.<init>(URI.java:673) ~[?:1.8.0_242]
webagent_1 | at org.gridgain.console.agent.AgentUtils.configureProxy(AgentUtils.java:156) ~[gridgain-web-console-agent-2020.05.00.jar:?]
webagent_1 | at org.gridgain.console.agent.handlers.WebSocketRouter.connect0(WebSocketRouter.java:225) ~[gridgain-web-console-agent-2020.05.00.jar:?]
webagent_1 | at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_242]
webagent_1 | at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_242]
webagent_1 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_242]
webagent_1 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_242]
webagent_1 | at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]
webagent_1 | [2020-08-29T12:03:57,032][ERROR][Connect thread][WebSocketRouter] Failed to establish websocket connection with server: frontend:80
webagent_1 | java.lang.IllegalArgumentException: URI scheme must be 'ws' or 'wss'
问题是如何正确将 webagent 连接到 gridgain 控制台。我的意思是 docker 文件中的“webagent”服务中缺少一些重要的东西,但我不知道是什么。您对解决我的问题有什么建议吗?感谢一切。
解决方案
您在代理中为 Web 控制台使用了错误的 uri,请使用SERVER_URI=http://frontend:8008
要获取代理令牌,您只能运行 Web 控制台docker-compose up -d backend frontend
- 注册用户
- 打开个人资料页面并复制令牌
TOKENS
在网络代理中设置- 启动代理
docker-compose up -d webagent
NODE_URI
但是我在你的配置文件中找不到。默认情况下,代理将尝试连接到http://localhost:8080
Web 代理容器中无法访问的 。
推荐阅读
- html - 仅使用 CSS 填充 Font-awesome 图标
- django - django get_absolute_url 重定向问题
- python-3.x - 带有鼠标悬停弹出数据的 Webscrape 交互式 Grafana 图表
- reactjs - React Native [remoteConfig/throttled] fetch() 操作无法成功完成,由于节流
- html - 为什么我不能使用边距使文本居中:自动
- windows - 使用指定输入数据创建大小的 Powershell 大文件
- amazon-web-services - 有没有办法检查发送的 SES 电子邮件是否成功发送或使用 javascript sdk 退回
- javascript - CSS中的技能栏
- angular - Angular - 如果一个返回 401,则阻止其他请求发出(取消其他请求)
- c# - 从函数调用问题返回表达式 Lambda