无法使用定制的最新Firefox和声音创建Docker

无法使用定制的最新Firefox和声音创建Docker,docker,ubuntu,firefox,debian,dockerfile,Docker,Ubuntu,Firefox,Debian,Dockerfile,我正在尝试创建一个基于debian/ubuntu的Docker容器,为我和我的同事提供一个最新的Firefox,并进行一些小的调整(即附加组件和起始页) 我想创建图像、定制Firefox、提交更改并分发图像。我也在寻找一种简单的方法来更新Firefox,而不是删除任何定制-这对未来的我来说是个问题 在主机Kubuntu 19.04(VBox)上,Docker版本为18.09.7 我已经尝试了很多方法来让当前的Firefox版本能够正常工作——使用声音。以下是我的结果: -debian:stab

我正在尝试创建一个基于debian/ubuntu的Docker容器,为我和我的同事提供一个最新的Firefox,并进行一些小的调整(即附加组件和起始页)

我想创建图像、定制Firefox、提交更改并分发图像。我也在寻找一种简单的方法来更新Firefox,而不是删除任何定制-这对未来的我来说是个问题

在主机Kubuntu 19.04(VBox)上,Docker版本为18.09.7

我已经尝试了很多方法来让当前的Firefox版本能够正常工作——使用声音。以下是我的结果:

  • -debian:stable slim w/firefox esr不工作(没有错误,没有播放)
  • -debian:stable slim w/firefox(二进制)不工作(错误)
  • -debian:stable slim w/firefox测试版(二进制)不工作(错误)
  • -debian:stable slim w/firefox开发(二进制)不工作(错误)
  • -debian:stable slim w/firefox nightly(二进制)不工作(错误)
  • -debian:使用firefox esr测试slim
  • -debian:使用firefox(二进制)测试slim不起作用(错误)
  • -debian:测试slim w/firefox测试版(二进制)不起作用(错误)
  • -debian:使用firefox dev(二进制)测试slim不起作用(错误)
  • -debian:通过firefox每晚测试slim(二进制)不起作用(错误)
  • -debian:sid slim w/firefox没有(没有错误,没有播放)
  • -debian:sid slim w/firefox(二进制)不工作(错误)
  • -debian:sid slim w/firefox测试版(二进制)不工作(错误)
  • -debian:sid slim w/firefox dev(二进制)不工作(错误)
  • -debian:sid slim与firefox夜间(二进制)不工作(错误)
  • -ubuntu:最新的firefox不工作(错误)
  • -ubuntu:最新的w/firefox(二进制)不工作(错误)
  • -ubuntu:最新的w/firefox测试版(二进制)不工作(错误)
  • -ubuntu:最新的firefox开发(二进制)不工作(错误)
  • -ubuntu:最新的firefox夜间版(二进制)不工作(错误)
  • -ubuntu:使用firefox滚动不起作用(错误)
  • -ubuntu:w/firefox(二进制)滚动不起作用(错误)
  • -ubuntu:w/firefox测试版(二进制)无法运行(错误)
  • -ubuntu:w/firefox开发(二进制)无法运行(错误)
  • -ubuntu:每晚滚动firefox(二进制)不起作用(错误)
Dockerfile:

FROM ubuntu:latest
ENV DEBIAN_FRONTEND noninteractive
ENV DEBIAN_FRONTEND teletype
RUN apt update && apt install -y firefox breeze ubuntu-restricted-extras
COPY firefox /opt/firefox
COPY firefox-beta /opt/firefox-beta
COPY firefox-dev /opt/firefox-dev
COPY firefox-nightly /opt/firefox-nightly
RUN useradd -m -G audio,video user
USER user
CMD ["/usr/bin/firefox"]
对于不同的发行版,中的
当然会发生变化,
ubuntu受限附加功能
仅适用于ubuntu,
apt install firefox
更改为
apt install firefox esr
,用于Debian稳定和测试

Docker run:

docker run -v ~/Downloads:/home/user/Downloads -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --shm-size 2G --device /dev/dri --device /dev/snd -it <image> bash
Firefox ESR在Debian上运行:测试苗条,但ESR对我来说太过时了。我不想在我的主机上运行TCP pulseaudio服务器来让声音正常工作


如何让最新版本的Firefox在基于Debian的Docker上使用声音?

当你说“交互式桌面应用程序”和“使用声音”时,你遇到了使用Docker非常困难的两个方面。虚拟机更合适。谢谢你的评论。不过,这应该不是什么大问题。杰西·弗雷泽尔(Jessie Frazelle)在2015年展示了这一点(),我让它为一个设置工作——我想说它有点顽固。运行Chrome的11行
docker run
命令?这仍然是实现这一目标的唯一途径,我会继续将其描述为(四年后)更多的“酷黑客”而不是“生产就绪的最佳实践”。哈。chrome和firefox有这么大的区别吗?谢谢你的洞察力。
[Child 319, MediaDecoderStateMachine #1] WARNING: 7f2f106f4390 OpenCubeb() failed to init cubeb: file /builds/worker/workspace/build/src/dom/media/AudioStream.cpp, line 305
[Child 319, MediaDecoderStateMachine #1] WARNING: Decoder=7f2f10603400 [OnMediaSinkAudioError]: file /builds/worker/workspace/build/src/dom/media/MediaDecoderStateMachine.cpp, line 3641
[Child 319, MediaDecoderStateMachine #1] WARNING: Decoder=7f2f10603400 Decode error: NS_ERROR_DOM_MEDIA_MEDIASINK_ERR (0x806e000b) - OnMediaSinkAudioError: file /builds/worker/workspace/build/src/dom/media/MediaDecoderStateMachine.cpp, line 3309