群晖通过 Docker 安装 Firefox

1. 获取 firefox 镜像

在注册表搜索 jlesage/firefox,并且下载

2. 创建容器

运行映像 jlesage/firefox,开始创建容器

3. 配置容器

启用自动重新启动,重点配置存储空间和环境变量,其他默认。

创建文件夹,及子文件夹。挂载路径如下:

/config

/config/downloads

/usr/share/fonts/other

环境变量配置删除 INSTALL_PACKAGES、PACKAGES_MIRROR 和 FF_CUSTOM_ARGS。

bash 复制代码
-e SUP_GROUP_IDS="0" \
-e INSTALL_PACKAGES="" \
-e PACKAGES_MIRROR="" \
-e VNC_PASSWORD="MySecurePassword123" \
-e WEB_AUTHENTICATION_DEFAULT_USERNAME="admin" \
-e WEB_AUTHENTICATION_DEFAULT_PASSWORD="MyWebPassword456" \
-e FF_OPEN_URL="https://www.google.com" \
-e FF_CUSTOM_ARGS=""

环境变量的说明以及如何为它们提供值的建议:

1.) SUP_GROUP_IDS

  • 说明:指定用户组 ID,通常用于设置容器中运行的用户权限。
  • 值的建议 :可以使用 0(表示 root 用户)或者群晖中用户的组 ID。你可以通过 SSH 登录到群晖并运行 id 命令来查找当前用户的组 ID。

2.) INSTALL_PACKAGES

  • 说明:用于指定要在容器中安装的额外软件包。
  • 值的建议:可以是一个用空格分隔的软件包名称字符串。如果不需要额外软件包,可以将其留空。

3.) PACKAGES_MIRROR

  • 说明:用于指定软件包的镜像源。
  • 值的建议:可以使用默认的镜像源,或者选择一个你信任的镜像源。如果你不确定,可以留空,通常默认源是足够的。

4.) VNC_PASSWORD

  • 说明:用于设置 VNC 连接的密码,以保护远程访问。
  • 值的建议 :设置一个强密码,例如 MySecurePassword123。确保记住这个密码,因为你需要用它来连接 VNC。

5.) WEB_AUTHENTICATION_DEFAULT_USERNAME

  • 说明:用于设置 Web 界面的默认用户名。
  • 值的建议 :可以设置为你想要的用户名,例如 adminuser

6.) WEB_AUTHENTICATION_DEFAULT_PASSWORD

  • 说明:用于设置 Web 界面的默认密码。
  • 值的建议 :设置一个强密码,例如 MyWebPassword456。确保这个密码与上面的用户名匹配。

7.) FF_OPEN_URL

  • 说明:用于指定 Firefox 启动时打开的 URL。
  • 值的建议 :可以是任何有效的 URL,如 https://www.google.com 或者留空,表示启动时不打开任何网页。

8.) FF_CUSTOM_ARGS

  • 说明:用于传递给 Firefox 的自定义启动参数。
  • 值的建议 :可以留空,或者如果你有特定的启动参数需求,可以在这里指定。例如,如果你希望 Firefox 在无头模式下运行,可以使用 -headless

4. 字体设置

因为默认的中文字体是方框,所以得下载字体配置。

1.)安装中文字体

‌下载并安装中文字体,例如阿里巴巴普惠字体。可以从阿里巴巴普惠字体官网下载字体文件,如 AlibabaPuHuiTi-2-55-Regular.ttf,然后将字体文件复制到群晖服务器的 /docker/Firefox/fonts/目录下,并更新字体缓存。

下载地址:阿里巴巴字体素材平台 --- 更安心、更实惠、更专业

2.)容器内部修改字体

检查 Docker 服务状态:

bash 复制代码
sudo systemctl status docker

查看当前正在运行的 Docker 容器:

bash 复制代码
docker ps -a

进入正在运行的容器:

bash 复制代码
sudo docker run -it --rm <容器ID或名称> /bin/bash

错误:~$ sudo docker exec -it <容器ID或名称> /bin/bash OCI runtime exec failed: exec failed: unable to start container process: exec: "/bin/bash": stat /bin/bash: no such file or directory: unknown

容器中没有安装 /bin/bash,这可能是因为该容器使用的是轻量级的操作系统,如 Alpine Linux,通常使用 /bin/sh 作为默认的 shell。

bash 复制代码
sudo docker exec -it <容器ID或名称> /bin/sh

查看特定容器的详细信息:

bash 复制代码
docker inspect <容器ID或名称>

查看字符集:

bash 复制代码
/tmp # locale
/bin/sh: locale: not found

容器内找不到 locale 命令,安装 locales 包:

bash 复制代码
apk update
apk add --no-cache musl-locales musl-locales-lang

查看可用的字体包:

bash 复制代码
apk search font

找到适合的字体包并安装,例如:

bash 复制代码
apk add font-noto

Noto CJK 系列是专门为中、日、韩文字设计的,可以支持这三种语言:

bash 复制代码
apk add font-noto-cjk

更新字体缓存:

bash 复制代码
fc-cache -fv

注意事项:

1.) 访问只有一个小窗口?

在 Docker 容器中运行 Firefox 时,可能会遇到窗口显示不全或功能不完整的问题。这通常是因为 Firefox 运行在无头(headless)模式或没有正确的显示环境。

待补充......

相关推荐
Karoku0662 小时前
【CI/CD】CI/CD环境搭建流程和持续集成环境配置
运维·ci/cd·docker·容器·kubernetes·prometheus
布鲁克零三四四2 小时前
阿里云CDN转https个人测试证书过期更换
阿里云·https·云计算
Lansonli2 小时前
云原生(五十七) | 阿里云CDN基本概念
阿里云·云原生·云计算
!!!5259 小时前
华为云镜像加速器
docker·容器·华为云
sszdzq11 小时前
Docker
运维·docker·容器
dmy12 小时前
docker 快速构建开发环境
后端·docker·容器
2401_8979300615 小时前
linux系统如何配置host.docker.internal
linux·docker·eureka
亲持红叶19 小时前
open-webui安装
docker·open-webui
伪装成塔的小兵19 小时前
Windows使用docker部署fastgpt出现的一些问题
windows·docker·容器·oneapi·fastgpt
周周的奇妙编程21 小时前
基于腾讯云大模型知识引擎×DeepSeek构建八字、六爻赛博算卦娱乐应用
云计算·腾讯云·娱乐