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 install mkfontscale ),执行结果如下:

无法安装命令

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

##  apt-get update   ## 更新软件源中所有软件列表

## apt-get upgrade   ## 更新软件 


之后重试,如果发现依然安装失败:

软件源中无响应软件包

在Ubuntu操作系统中使用 apt-get install 的时候会发现很多源都找不到,原因是系统初始的资源库找不到指定的包,可参考如下解决办法:

 1、执行下面的命令,编辑系统资源库列表:              vi /etc/apt/sources.list

 2、修改为以下内容(原来的内容可以注释一下): 


更新系统资源库列表

附:

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse


之后再次执行update和upgrade操作,然后重新安装三个命令(mkfontscale、mkfontdir、fc-cache),发现都可以安装成功。

安装 fc-cache 命令

## apt-get install fontconfig

之后可以将已经安装上述命令的镜像重新 commit 为一个新的基础镜像,后续如果需要安装其他字体就可以正常操作了。

你可能感兴趣的:(Docker 镜像中安装mkfontscale、mkfontdir、fc-cache)