我正在努力尝试在 amd64 上使用 Ubuntu 14.04 在 docker 容器上安装 Firefox 版本 45,我成功安装的版本是 28 或最新的 50.0.1,但是我需要安装 45.x,因为我正在使用 selenium 运行自动测试,而 selenium 不支持最新的 Firefox 版本,这是我已经尝试过的方法:
apt-get install -y firefox=28.0+build2-0ubuntu2 : Success
apt-get install firefox : Latest Success
apt-get install -y firefox=45.0+build2-0ubuntu0.14.04.1
---> Running in 9e11da0e632f
Reading package lists...
Building dependency tree...
Reading state information...
E: Version '45.0+build2-0ubuntu0.14.04.1' for 'firefox' was not found
我以此作为参考https://launchpad.net/ubuntu/+source/firefox/
尝试使用 wget 和 tar 以及符号链接进行安装,当我尝试运行 Firefox 时出现此问题:
XPCOMGlueLoad error for file /opt/firefox/libxul.so:
libfreetype.so.6: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
提前致谢。
答案1
截至 2021 年 10 月,我这样做了:
ARG FIREFOX_VERSION=XX.YY.ZZ
RUN apt-get update -qqy \
&& apt-get -qqy --no-install-recommends install firefox \
&& rm -rf /var/lib/apt/lists/* /var/cache/apt/* \
&& wget --no-verbose -O /tmp/firefox.tar.bz2 https://download-installer.cdn.mozilla.net/pub/firefox/releases/$FIREFOX_VERSION/linux-x86_64/en-US/firefox-$FIREFOX_VERSION.tar.bz2 \
&& apt-get -y purge firefox \
&& rm -rf /opt/firefox \
&& tar -C /opt -xjf /tmp/firefox.tar.bz2 \
&& rm /tmp/firefox.tar.bz2 \
&& mv /opt/firefox /opt/firefox-$FIREFOX_VERSION \
&& ln -fs /opt/firefox-$FIREFOX_VERSION/firefox /usr/bin/firefox
...从 Firefox 安装部分获取灵感selenium/node-firefox Dockerfile.
它与 Firefox 版本配合顺畅93.0
。
答案2
Alex Dunn 帮助了我,您可以使用 apt-get 安装 Firefox 28 或 50.x,因此下载它需要一些依赖项,这是 Docker 文件:
RUN apt-get update
RUN apt-get purge firefox
RUN apt-cache showpkg firefox
RUN apt-get install -y wget libfreetype6 libfontconfig1 libxrender1 libXext6 libXdamage1 libXfixes-dev libXcomposite-dev libasound-dev libdbus-glib-1-dev libgtk2.0-0 libxt6 python-pip
RUN pip install selenium==2.48.0 robotframework==3.0 requests robotframework-requests robotframework-selenium2library==1.8.0 pymysql robotframework-databaselibrary robotframework-excellibrary
RUN pip install requests --upgrade
RUN wget https://ftp.mozilla.org/pub/firefox/releases/45.0/linux-x86_64/en-US/firefox-45.0.tar.bz2
RUN tar -xjf firefox-45.0.tar.bz2
RUN mv firefox /opt/firefox45
RUN ln -s /opt/firefox45/firefox /usr/bin/firefox
RUN ls /opt/firefox45
RUN firefox --version