如何在群晖NAS部署undetected-chromedriver Docker并通过Python远程连接
部署及连接undetected-chromedriver Docker镜像操作步骤
1. 拉取镜像
你可以直接在群晖Docker套件的镜像仓库搜索bruvv/undetected_chromedriver在线拉取,也可以SSH登录群晖后执行拉取命令:docker pull bruvv/undetected_chromedriver
2. 启动容器
执行以下启动命令,和你之前使用selenium standalone chrome的配置逻辑兼容,端口默认复用4444不用修改原有连接地址:
docker run -d \ -p 4444:4444 \ --shm-size 2g \ --restart unless-stopped \ --name undetected-chrome \ bruvv/undetected_chromedriver
参数说明:
--shm-size 2g:给容器分配2G共享内存,避免Chrome运行时内存不足崩溃--restart unless-stopped:设置容器随群晖开机自动启动,不需要可以删掉- 如果你需要从局域网其他设备访问该服务,可以把端口映射改为
0.0.0.0:4444:4444,同时放行群晖防火墙的4444端口
3. NAS本地Python连接配置
首先确保你的Python环境已经安装undetected-chromedriver依赖:pip install undetected-chromedriver
连接代码示例,和你之前使用webdriver.Remote的逻辑基本一致,仅需替换驱动类即可:
import undetected_chromedriver as uc # 配置Chrome启动参数 chrome_options = uc.ChromeOptions() # 按需添加参数,比如无头模式、禁用沙箱等 chrome_options.add_argument("--headless=new") chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-dev-shm-usage") # 连接远程容器的undetected-chromedriver服务 driver = uc.Remote( command_executor="http://127.0.0.1:4444/wd/hub", options=chrome_options ) # 测试功能 driver.get("https://www.example.com") print(driver.page_source[:200]) driver.quit()
常见问题排查
- 连接失败先查看容器运行日志,如果是Chrome启动报错,可以在启动容器时添加
--privileged参数临时测试权限问题 - 出现版本不兼容报错时,保证本地Python安装的undetected-chromedriver版本和Docker镜像内置的版本一致即可
内容的提问来源于stack exchange,提问作者Bijan
相关产品推荐
相关产品推荐

