将WebAgent作为docker容器启动

将WebAgent作为docker容器启动,docker,docker-compose,dockerfile,gridgain,Docker,Docker Compose,Dockerfile,Gridgain,我正在尝试使用Docker和Docker-compose.yml文件中的Web代理部署GridGain Web控制台。我根据本指南进行了尝试,但web代理不是docker部署的一部分 我试图修改docker-compose.yml: version: '2.4' services: backend: image: gridgain/gridgain-web-console-backend:2020.05.00 # Restart on crash. restart:

我正在尝试使用Docker和Docker-compose.yml文件中的Web代理部署GridGain Web控制台。我根据本指南进行了尝试,但web代理不是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_1|[2020-08-29T12:03:56213][INFO][Connect thread][WebSocketRouter]连接到服务器:前端:80
webagent|[2020-08-29T12:03:56220][WARN][Connect thread][AgentUtils]无法配置代理。
webagent_1 | java.net.URISyntaxException:索引6处的预期方案特定部分:https:
webagent_1|位于java.net.URI$Parser.fail(URI.java:2848)~[?:1.8.0_242]
webagent_1|位于java.net.URI$Parser.failExpecting(URI.java:2854)~[?:1.8.0_242]
webagent_1|位于java.net.URI$Parser.parse(URI.java:3057)~[?:1.8.0_242]
webagent_1|位于java.net.URI.(URI.java:673)~[?:1.8.0_242]
webagent_1|位于org.gridgain.console.agent.AgentUtils.configureProxy(AgentUtils.java:156)~[gridgain-web-console-agent-2020.05.00.jar:?]
webagent_1|位于org.gridgain.console.agent.handlers.WebSocketRouter.connect0(WebSocketRouter.java:225)~[gridgain-web-console-agent-2020.05.00.jar:?]
webagent_1|位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[?:1.8.0_242]
webagent|1位于java.util.concurrent.FutureTask.run(FutureTask.java:266)[?:1.8.0|242]
webagent_1|位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)[?:1.8.0_242]
webagent_1|位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)[?:1.8.0_242]
webagent_1|位于java.lang.Thread.run(Thread.java:748)[?:1.8.0_242]
webagent_1|[2020-08-29T12:03:57032][ERROR][Connect thread][WebSocketOuter]无法与服务器建立websocket连接:前端:80
webagent_1| java.lang.IllegalArgumentException:URI方案必须为“ws”或“wss”
问题是如何正确地将webagent连接到gridgain控制台。我的意思是docker文件中的“webagent”服务缺少一些重要的东西,但我不知道是什么。 你对解决我的问题有什么建议吗?
感谢您所做的一切。

您在代理中为web控制台使用了错误的uri,请使用
服务器uri=http://frontend:8008

要获取代理的令牌,您只能运行web控制台
docker compose up-d后端前端

  • 注册用户
  • 打开配置文件页面并复制令牌
  • 在web代理中设置标记
  • 启动代理
    docker compose up-d webagent

但是我在您的配置文件中找不到
节点URI
。默认情况下,代理将尝试连接到
http://localhost:8080
,在web代理容器中无法访问。

根据您的配置,web控制台内部位于8008端口。您是否尝试了
-SERVER\u URI=http://frontend:8008
?是的,我也是problem@Martin,请检查文档的此部分。您需要在集群名称上启用ignite http rest模块,并在代理的配置文件中写下后端/前端的地址:顺便说一句,WebConsole将由其后续的Control Center替代。所以,如果您立即切换到Control Center可能会更好:@dmagda谢谢,我不使用Control Center的原因是我使用的apache ignite 2.7.5不受Control Center支持。我的问题不是ignite集群和ignite控制台之间的连接,而是web控制台和ignite web代理之间的连接。如果它像本地应用程序一样运行,则一切正常,我的问题在于“webagent”的配置“我的docker文件中的服务。我的意思是我缺少一些关于代理的配置,webagent服务中缺少了一些内容。@Martin,设置此地址后您遇到了什么异常-SERVER_URI=?谢谢Andrey,我尝试了几个SERVER_URI,但根本原因是您提到的令牌不正确。我还没有尝试重写NODE_URI,但是是的,我将重写它。谢谢