一个基于 Ubuntu 22.04 的 Docker 容器,运行 Google Chrome 浏览器并通过 VNC 提供远程访问。
docker-compose up -d
localhost:5900docker run -d \ --name chrome-docker \ -p 5900:5900 \ -v ./data:/data \ -e VNC_SCREEN_SIZE=1920x1080 \ btpanel/chrome:latest
| 变量名 | 描述 | 默认值 |
|---|---|---|
VNC_SCREEN_SIZE | 屏幕分辨率 | 1024x768 |
VNC_PASSWORD | VNC 连接密码 | 无密码 |
VNC_PORT | VNC 服务端口 | 5900 |
VNC_BIND_IP | VNC 绑定 IP | 0.0.0.0 |
CHROME_OPTS_OVERRIDE | Chrome 启动参数 | 默认参数 |
通过设置 VNC_SCREEN_SIZE 环境变量来自定义屏幕分辨率,支持以下格式:
1024x768 (默认)1280x7201920x10802560x1440如需设置 VNC 密码,在 docker-compose.yml 中取消注释并设置:
environment:
VNC_PASSWORD: your_password
Chrome 的用户数据(书签、历史记录、Cookie 等)会保存在挂载的 /data 目录中,确保数据在容器重启后仍然保留。
localhost:5900容器支持主机与 Chrome 之间的剪贴板同步:
data/clipboard.txt 文件内容通过挂载的 /data 目录可以在主机和容器之间共享文件。
chrome/ ├── Dockerfile # Docker 镜像构建文件 ├── docker-compose.yml # Docker Compose 配置 ├── configs/ │ ├── entrypoint.sh # 容器启动脚本 │ └── etc/supervisor/ # Supervisor 进程管理配置 │ └── conf.d/ │ └── supervisord.conf # 服务进程配置 ├── data/ # Chrome 数据目录(运行时创建) ├── .dockerignore # Docker 构建忽略文件 └── .gitignore # Git 忽略文件
容器使用 Supervisor 管理以下进程:
可以通过以下命令查看各个服务的日志:
# 查看 Supervisor 日志
docker logs chrome-docker
# 进入容器查看详细日志
docker exec -it chrome-docker bash
cat /var/log/supervisor/*.log