在Docker镜像中安装mkfontscale、mkfontdir和fc-cache。

由于项目需要,需要在Java的Docker镜像中安装其他字体,但是发现镜像中没有安装字体所需的三个命令(mkfontscale,mkfontdir,fc-cache)。

找一个可以联网的可以用Docker安装的机器,上传一个需要安装的Java镜像,然后通过Docker命令启动镜像进入容器启动手动安装命令:

大部分Java Docker镜像基本操作系统都是基于Ubuntu的,所以这次以Ubuntu为例来说明:

开始安装(mkfontscale,mkfontdir)。Ubuntu中需要ttf-mscorefonts-installer(如果是CentOS,可以直接yum安装mkfontscale)。执行结果如下:

发现安装失败,一般可以执行:

##?Apt-get update ##更新软件源中所有软件的列表。

## apt-get升级##更新软件?

然后重试,如果安装仍然失败:

在Ubuntu操作系统中使用apt-get install时,由于在系统的初始资源库中找不到指定的包,很多源码都找不到。请参考以下解决方案:

?1.执行以下命令编辑系统资源库列表:?vi /etc/apt/sources.list

?2.修改为以下内容(原内容可评论):?

附:

deb /ubuntu/ bionic主受限宇宙多元宇宙

deb-src /ubuntu/ bionic主受限宇宙多元宇宙

deb /ubuntu/ bionic-security主受限宇宙多元宇宙

deb-src /ubuntu/ bionic-security主受限宇宙多元宇宙

deb/Ubuntu/bionic-更新主受限宇宙多元宇宙

deb-src/Ubuntu/bionic-更新主受限宇宙多元宇宙

deb /ubuntu/ bionic-backports主受限宇宙多元宇宙

deb-src/Ubuntu/bionic-backports主受限宇宙多元宇宙

deb/Ubuntu/bionic-提出的主要受限宇宙多元宇宙

de b-src/Ubuntu/bionic-提出的主受限宇宙多元宇宙

之后再次进行更新升级操作,然后重装三个命令(mkfontscale,mkfontdir,fc-cache),发现都可以安装成功。

安装fc-cache命令。

## apt-get安装fontconfig

之后可以用上面的命令把图像提交到一个新的基础图像中,然后如果需要安装其他字体就可以正常操作了。