FoundersJP

简单易用!Docker添加中文支持,让你轻松打造母语环境!

· 2 分钟阅读

数字生活
Docker NAS

玩NAS必然要折腾Docker,Docker可能是目前生态最广泛的应用平台了。除了大神们推荐的各种应用,在docker.com上也有很多好玩的东西,包括一些AIGC工具,一些私有云盘工具等。但是问题也来了,很多docker镜像应用不是面向中文用户开发的,所以也没有中文化。

前几天就有一位朋友跟我探讨Docker中的应用不支持中文怎么办?特别是视频转码字幕都变成了小方块。网上也有一些例如改时区,或者语言锁定Chianese的方案,但效果很局限。分享一下我摸索出来如何添加中文支持?

Docker的原理

想要弄懂docker,首先要理解它。Docker是基于LXC架构的容器引擎,在LXC基础上提供了更多优化管理的功能。更深度的了解可以看看下边的这篇文章。

https://www.foundersjp.com/cn/lifestyle-cn/digitallife-cn/docker-compose-advanced/

LXC全称是Linux Container,Container可译为“容器”或“集装箱”,这也是docker logo图标的由来。

无论是Docker还是LXC 本质都是基于Linux的。网上提供的容器可以理解为基于Linux底层打包了需要的依赖,精简去除不需要的部分。这样的优势是减少文件体积,利于网络传输,同时不影响原生系统,还可以在各个Linux发行版本中达到兼容的效果。

中文化方案

了解了底层原因,也就有了解决方案。很多Docker容器包不支持中文字符,或者说不支持非英语语言的原因是因为很多开发者在打包镜像的过程中,为了精简镜像的体积便于网络传输,只会保留默认的英语支持,不封装其他语言环境进去。

很多程序本身在Linux GUI(图形化界面)下是支持多语言的,因为Docker镜像中缺失了英语外其他语言的支持,所以导致不能显示其他的语言。所以我们在使用中只要挂载对应的语言字库就可以了。

为了保证最广泛的兼容性,我分别从win10和MAC中提取了字库,和Ubuntu默认的系统字库一同导出为一个文件夹作为字库文件包。保留Ubuntu的完整字库是因为Docker默认会索引Linux下的英文字体。把这个字库文件包导入宿主机的默认字库,来为所有Docker镜像提供共用的语言支持。

部署

Linux的默认字库目录是在“/usr/share/fonts”。

我们可以在Docker的命令行模式ls一下这个目录,可以看到默认是语言文件的。

所以只要在构建容器配置时,把字库目录强制指向宿主机的字库目录,再执行Docker启动命令。之后在应用中选择中文,就可以慢慢享用了。

相关文章

小白也不愁,软银封 IPv6 后,Lucky+Cloudflare Tunnel全搞定

· 4 分钟阅读

今天突然发现家里的NAS没法在外网访问了,存里面的笔记也同步不了。排查了半天才找到原因——软银路由升级把IPv6的入站连接给封锁了。之前我分享过“去掉非443端口小尾巴”的方法,能解决不少访问问题,但面对这次的IPv6封锁,那套办法就完全不管用了。 https://www.foundersjp.com/cn/lifes…

难道失去443端口,地址就要带着数字小尾巴吗?No!Lucky+CloudFlare让你清清爽爽!

· 3 分钟阅读

熟悉的友友都知道我比较爱折腾NAS,家里的NAS中也跑了很多服务。做为宅一族的我大部分使用也是通过路由端的内网地址跳转来使用,而没有注意到公网的访问状况。然而最近突然有一天,我在外出时发现NAS上的这些服务不能通过公网访问了。 查了一下原因是IPv6的443端口被封了,以前我所在的城市IPv6是不封443的。本以为是阶…

NAS中 Docker Compose 的进阶玩法

· 7 分钟阅读

熟悉我的友友都知道我经常折腾NAS,而我属于也在NAS部署了很多自托管的服务,这其中Docker是必不可少的。不同的NAS系统针对Docker有不同的解决方案,而Docker Compose是目前适用性最广泛额一个。 Docker Compose 配置文件是 YAML 格式的,通常是 docker compose.ym…

手把手教程,在线协同Office一键全搞定,UnRiad+NextCloud-AIO

· 2 分钟阅读

最近和朋友一起做项目,要协同办公,所以打算搭建一个功能强大的自托管协同平台。选来选去选择了NextCloud。选择它的原因有二:其一,它的功能丰富多样,涵盖了任务板、Office套件以及ToDoList管理等;其二,每个功能都配备了相应的移动端应用,使我们能够随时随地推进项目进程。 以前也在UnRaid中装过Docke…

给 AI 做个脑科手术:用 Ollama Modelfile 本地大模型调优,让它学会影分身术的?

· 7 分钟阅读

Agent私有化的时代,Ollama是非常适合的AI模型运行基座,根据需求不同,交错加载不同的模型,以实现Agent的行为目的。不过ollama官方library的模型普遍占用空间比较大,而且不能自定义。相比较而言,从huggingface拉取是一个很好的选择。 恰好最近Qwen和Gemma都更新了新模型,号称对Age…

评论