怎么在 docker 部署个 Chrome?,要求私密且可登录 google 账号

2023-08-14 11:31:02 +08:00
 7897894

求推荐 大佬们

找了一圈没找到合适的

https://github.com/m1k1o/neko 这个肯定是不行的 因为它不给登录账号,而且它定位是和朋友共享浏览器窗口,这个不适合我

另外也不是反代

就是在 docker 里面装个浏览器,然后可以通过浏览器访问和控制 docker 里面的浏览器,(俗称:套娃)实在不行 vnc 访问也行 rdp 访问也行,连上就是浏览器窗口,其他啥都不需要,最好能加个访问密码,这样只有我自己能用

4443 次点击
所在节点    程序员
23 条回复
photon006
2023-08-14 12:29:43 +08:00
mmm159357456
2023-08-14 12:51:27 +08:00
jack778
2023-08-14 13:06:10 +08:00
很奇怪为什么会有这个需求呢, 你直接开个远程桌面到另外一台电脑不行嘛
7897894
2023-08-14 13:21:16 +08:00
@jack778 1.不想直接在 Linux 服务器装桌面环境,2.不想用自己家里的服务器,费电,而且远程回去很麻烦,直接用浏览器操控最好 3.用 docker 简单方便,而且云服务器买了一年了 4.不需要其他花里胡哨的功能,只要一个浏览器即可
wander555
2023-08-14 13:25:40 +08:00
你这搞个 windows 虚拟机不更好?各个浏览器全装一遍都没问题
7897894
2023-08-14 14:00:20 +08:00
@wander555 不好 太重了 我只要一个浏览器 其他啥都不需要
aru
2023-08-14 14:01:11 +08:00
可以用 danielguerra/ubuntu-xrdp , 通过 rdp 协议访问,自己在里面安装一个 chrome 就行了
libook
2023-08-14 14:46:23 +08:00
你要访问容器里的浏览器,那么实际上就是得通过远程桌面访问,无论协议是 RDP 、VNC 还是 Web VNC ;
那么你就需要有一个桌面环境,比如 Xfce 、Mate ;
当然也可能搞一个极简的窗口管理器然后只显示浏览器窗口,但用浏览器的时候你肯定也需要使用其他功能,比如管理下载的文件,所以还是用桌面环境比较方便可靠一些。

我是用的网上找的 Ubuntu+xrdp+Xfce 的 Dockerfile ,后续因为 ubuntu 的桌面应用强制使用 snap 跟 docker 兼容不好就自己改成了 Debian+xrdp+Xfce 。
日常用途就是用浏览器找媒体资源然后下载下来,再用打标签工具给媒体文件打上艺术家、合集等信息;有时候也需要用文件管理器整理 NAS 上的媒体文件,读取缩略图和预览要比跨公网的远程文件传输协议快很多。
huihuiHK
2023-08-14 14:47:13 +08:00
想到了 docker 里面安装 docker
7897894
2023-08-14 14:52:00 +08:00
@libook 谢谢
sdlzqjf
2023-08-14 15:02:37 +08:00
这个正好我研究过,https://www.kasmweb.com/ ,除了不是中文环境,应该能满足你的要求
CloudyKumori
2023-08-14 15:08:03 +08:00
docker 里面装 Ubuntu 再装 Chrome➕novnc
edwardhodges
2023-08-14 15:10:19 +08:00
docker 里面不太适合干这个吧,还是搞个虚拟机,vmware 或者 parallels 之类的
pota
2023-08-14 15:18:20 +08:00
威联通的 Browser Station 就是基于 docker 的可登录 Chrome ,而且可以多实例隔离。不知道具体咋实现的
wcyl
2023-08-14 15:21:46 +08:00
和 #11 一样的推荐

https://hub.docker.com/r/kasmweb/chrome

以前有和你一样的需求 后来用了几次才发现对我是伪需求
NessajCN
2023-08-14 15:34:47 +08:00
https://wiki.archlinux.org/title/List_of_applications/Internet#Console
去这里挑个看的顺眼的终端浏览器,装完直接 ssh 上去用
150530
2023-08-14 15:44:40 +08:00
没有 Chrome ,只有火狐,之前是 b 站直播挂机时长得奖励才找的,里面安装个油猴脚本挂机了

docker run -d \
--name=firefox \
-p 6080:5800 \
-v /docker/appdata/firefox:/config:rw \
--shm-size 2g \
jlesage/firefox


docker run -d -p 6081:5901 -p 6080:6901 accetto/ubuntu-vnc-xfce-firefox-plus

docker run -d -p 6080:6901 -p 6081:5901 --name desktop piopirahl/docker-desktop:1.0.2

docker run --name alpine_vnc -d -p 6080:6080 yangxuan8282/alpine-xfce4-novnc

docker run -d -p 6080:5800 ppjoin/debian_openbox_firefox:lang_chinese;
7897894
2023-08-14 22:05:52 +08:00
@150530 谢谢大佬
qyvlik
2023-08-14 22:52:53 +08:00
给一个 chromium 的(算是 Chrome 的亲兄弟?),支持 VNC 密码。参考 https://github.com/accetto/debian-vnc-xfce-g3

```yaml
version: '2'

services:
chromium:
image: "accetto/debian-vnc-xfce-chromium-g3:latest"
ports:
- "6901:6901"
shm_size: 512m
environment:
- VNC_PORT=5091
- VNC_PW=headless
- VNC_RESOLUTION=1360x768
```

- 中文字体环境问题?

参考如下 Dockerfile ,安装中文字体就行。

```Dockerfile
FROM accetto/debian-vnc-xfce-chromium-g3:latest

USER root

RUN sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list && \
rm -Rf /var/lib/apt/lists/* && \
apt-get update && \
apt-get install -y locales fonts-wqy-zenhei && \
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8

# ENV LANG zh_CN.UTF-8

USER 1000
```

- 启动时,附带 chromium 参数?参考如下的 `chromium.desktop` 文件,可以设置使用代理,然后将通过数据卷将 `chromium.desktop` 进行挂载。

> `./chromium.desktop:/home/headless/Desktop/chromium.desktop`

```desktop
[Desktop Entry]
Version=1.0
Name=Chromium Web Browser
Name[zh_CN]=Chromium 网页浏览器
Name[zh_HK]=Chromium 網頁瀏覽器
Name[zh_TW]=Chromium 網頁瀏覽器
GenericName=Web Browser
GenericName[zh_CN]=网页浏览器
GenericName[zh_HK]=網頁瀏覽器
GenericName[zh_TW]=網頁瀏覽器
Comment=Access the Internet
Comment[zh_CN]=访问互联网
Comment[zh_HK]=連線到網際網路
Comment[zh_TW]=連線到網際網路
Exec=chromium %U --no-sandbox --proxy-server=http://YOUR_PROXY_HOST:YOUR_PROXY_PORT
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=chromium
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml_xml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Actions=NewWindow;Incognito;TempProfile;
X-AppInstall-Package=chromium

Path=

[Desktop Action NewWindow]
Name=Open a New Window
Name[zh_CN]=打开新窗口
Name[zh_TW]=開啟新視窗
Exec=chromium --no-sandbox --proxy-server=http://YOUR_PROXY_HOST:YOUR_PROXY_PORT

[Desktop Action Incognito]
Name=Open a New Window in incognito mode
Name[zh_CN]=以隐身模式打开新窗口
Name[zh_TW]=以匿名模式開啟新視窗
Exec=chromium --incognito --no-sandbox

[Desktop Action TempProfile]
Name=Open a New Window with a temporary profile
Name[zh_CN]=以临时配置文件打开新窗口
Name[zh_TW]=以暫時性個人身分開啟新視窗
Exec=chromium --temp-profile --no-sandbox --proxy-server=http://YOUR_PROXY_HOST:YOUR_PROXY_PORT
```
7897894
2023-08-14 23:55:25 +08:00
@qyvlik 谢谢大佬 我也找到一个不知道行不行,大佬帮忙看一下 https://hub.docker.com/r/zenika/alpine-chrome

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/965065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX