首页 > 解决方案 > 从主机访问在 docker 容器中运行的 Chrome devtools 端点

问题描述

这是我的 docker-compose.yml

version: '3.8'
services:
  web:
    image: selenium/standalone-chrome:87.0
    tty: true
    command:
        google-chrome --remote-debugging-host=0.0.0.0 --remote-debugging-port=9999 --headless --disable-gpu --no-sandbox --disable-dev-shm-usage --enable-automation --window-size=1440,900 about:blank
    ports:
      - "9999:9999"

容器日志:

DevTools listening on ws://127.0.0.1:9999/devtools/browser/a2e16249-bcfe-4dd6-a8d4-b85a7a5077ed

从容器:

curl -I http://127.0.0.1:9999/json/list

HTTP/1.1 200 OK
Content-Length:361
Content-Type:application/json; charset=UTF-8

来自主机:

curl -I http://127.0.0.1:9999/json/list

curl: (52) Empty reply from server

故障排除

我已经尝试过使用 localhost、127.0.0.1 或以任何方式使用 host.docker.internal 解析主机 IP。如果我使用在端口 9999 上运行的简单 http 服务器,则可以从主机很好地访问它。

标签: dockergoogle-chromedocker-composegoogle-chrome-devtools

解决方案


我终于成功了,我将“--remote-debugging-host=0.0.0.0”替换为“--remote-debugging-address=0.0.0.0”


推荐阅读