在macOS或Windows上搭建旧版chrome测试环境
web前端开发经常会测试浏览器兼容性,用到比较老的浏览器,目前在macOS上安装很多年前的chrome,比如chrome55,比较困难
这里提供一个经过折腾可行的方法,就是在docker的Ubuntu里安装老chrome,Windows和macOS都可以,现在用macOS视角来讲一下过程
安装docker
这里没什么好讲的,建议不要用官方的docker desktop,占用大,卡,慢,体验极差,推荐orbstack,目前它是主流的macOS客户端,直接brew一键安装
brew install orbstack
运行Ubuntu桌面容器
镜像地址:https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc
这个镜像基于Ubuntu 20.04,提供web vnc,可以在浏览器远程访问Ubuntu桌面
直接用docker run:
docker run --name ubuntu -p 6080:80 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
然后在本地浏览器打开 http://localhost:6080 ,可以看到Ubuntu的桌面
下载旧版chrome到Ubuntu
本地打开 https://www.slimjet.com/chrome/google-chrome-old-version.php ,这里有所有的旧版浏览器下载链接,找到chrome 55,复制下载链接,然后粘贴到Ubuntu里。如何粘贴?Ubuntu左边有个菜单,展开剪贴板,然后粘贴进去,就可以在Ubuntu里粘贴了
点击Ubuntu左下角开始按钮,找到LXTerminal,点击进入命令行,用curl下载chrome包
curl -OL https://www.slimjet.com/chrome/download-chrome.php?file=lnx%2Fchrome64_55.0.2883.75.deb
然后卸载Ubuntu原有的chrome
apt remove google-chrome-stable
安装旧版chrome 55
apt install ./download-chrome.php\?file\=lnx%2Fchrome64_55.0.2883.75.deb
运行旧版chrome
google-chrome-stable --no-sandbox --user-data-dir=/root/chrome
启动后,地址栏输入 http://host.docker.internal:8080 就可以访问宿主机的8080端口,在本地调试兼容了
制作镜像
前面做了一些安装和配置工作,我们需要把这些操作都另存为一个镜像,以免以后容器删除,这些步骤又得来一遍
在宿主机执行,另存为镜像,tag表示为chrome55版本:
docker commit ubuntu ubuntu:c55
以后就可以一键启动我们的chrome55测试环境:
docker run --name ubuntu-c55 -p 6080:80 -v /dev/shm:/dev/shm ubuntu:c55
想再保险一点,把ubuntu:c55输出本地文件:
docker save ubuntu:c55 > ubuntu-c55.tar
以后可以随时导入到docker镜像:
docker load < ubuntu-c55.tar
到这,全部搞定。如果需要其他任意版本的chrome,同理,只需要再创建一个镜像安装需要的chrome版本即可