ARM上面Docker模式安装chrome以及chromedriver的过程
背景
公司里面有四台鲲鹏服务器
想通过ARM的自动化进行功能遍历走查.
前期提过需求, 但是同时调研之后发现比较困难,作罢了.
最近清明假期. 想着能够实现以下.
最开始的思路
虽然网上有一个chromedriver的下载地址:
https://googlechromelabs.github.io/chrome-for-testing/#stable
上面有 chrome和chromedriver的部分二进制
但是没有linux on arm的介质, 所以这套四路暂时不通.
另外一个思路
通过rpmfind 查找对应版本的 chrome和chromedriver 的方式进行部署.
晚上没人打扰了在进行这个思路的验证:
wget http://rpmfind.net/linux/epel/8/Everything/aarch64/Packages/c/chromedriver-122.0.6261.128-1.el8.aarch64.rpm
wget http://rpmfind.net/linux/epel/8/Everything/aarch64/Packages/c/chromium-122.0.6261.128-1.el8.aarch64.rpm
需要注意, 一定是完全相同的版本才可以调用.
现在好后可以通过如下命令下载依赖的 rpm 包 到本地.
yum localinstall *.rpm --downloadonly --downloaddir=.
Docker容器化的思路
一开始同事选用的是ubuntu的思路.
我想专用centos的思路, 因为现在openeuler和anlios龙蜥都是CentOS路线.
适应一下国家的大方向.
需要注意. CentOS8上面安装Docker的快捷方式为:
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
yum install docker-ce -y
systemctl enable --now docker
第一步 下载模板镜像
注意需要再 下载rpm和部署docker建议都在arm机器上面
docker pull centos:centos8
需要注意 如下两个命令是等效的
docker pull centos:centos8.4.2105
编写Dockerfile
FROM centos:centos8
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
COPY *.rpm /root/
RUN cd /root && yum localinstall *.rpm -y && rm -rf /root/*.rpm && yum clean all
ADD python3_aarch64_tar.gz /opt/
RUN ln -s /usr/bin/chromedriver /opt/python3/bin/chromedriver
RUN ln -s /usr/bin/chromium-browser /usr/bin/chrome
打包arm版本的chrome的镜像
docker build . -t node:aarch64
说明:
因为CentOS已经停止服务了, 所以他的rpm下载地址出现了变化. 需要sed一下.
rpm包需要进行转移, 我发现没有downloadonly 的情况下部署比较困难.
python3 是之前文档里面写好的 离线部署,并且安装好pip的.
进行软连接可以实现命令的快速执行
chrome 和 chromium-browser 都是chrome 只不过一个是google官方,一个是开源的.
标签:centos,chrome,chromedriver,yum,Docker,rpm,docker
From: https://www.cnblogs.com/jinanxiaolaohu/p/18113070