docker - 从主机访问在 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 服务器,则可以从主机很好地访问它。
解决方案
我终于成功了,我将“--remote-debugging-host=0.0.0.0”替换为“--remote-debugging-address=0.0.0.0”
推荐阅读
- php - Laravel:使用多个搜索词来获取条目
- reactjs - 反应:404/运行`npm run build`后没有文件夹结构
- c++ - 图像处理中的并发设计
- c++ - Qt/QML/OpenGL:Z-ordering 不适用于 QML 下带有 OpenGL 的半透明项目
- r - 仅通过第一个单词查找两个数据帧之间的匹配行
- javascript - JavaScript 类函数可以添加到 ul,但要清除时未定义
- python - 以下函数在打印我正在寻找的结果时返回“none”。为什么是这样?
- django - Django 和汇总孙子记录
- typescript - 打字稿文件命名约定
- sql-server - 具有可选输出的存储过程