背景
因項(xiàng)目需要,需要在 Java 的 Docker 鏡像中安裝其他字體叨咖,但是發(fā)現(xiàn)鏡像中安裝字體所需要的三個(gè)命令(mkfontscale瘩例、mkfontdir、fc-cache)居然都沒(méi)有甸各。
解決
找到一臺(tái)可以聯(lián)網(wǎng)并且安裝有 Docker 機(jī)器垛贤,上傳需要安裝命令的 Java 鏡像,然后通過(guò) Docker 命令啟動(dòng)鏡像進(jìn)入到容器內(nèi)部開(kāi)始手動(dòng)安裝命令:
大部分 Java Docker 鏡像基礎(chǔ)操作系統(tǒng)都是基于 Ubuntu 的趣倾,所以本次以 Ubuntu 為例說(shuō)明:
開(kāi)始安裝(mkfontscale聘惦、mkfontdir),在Ubuntu中是需要安裝 ttf-mscorefonts-installer 的(如果是CentOS 可直接 yum install mkfontscale )誊酌,執(zhí)行結(jié)果如下:
發(fā)現(xiàn)安裝失敗部凑,一般可執(zhí)行:
##? apt-get update? ?## 更新軟件源中所有軟件列表
## apt-get upgrade? ?## 更新軟件?
之后重試,如果發(fā)現(xiàn)依然安裝失敱套恰:
在Ubuntu操作系統(tǒng)中使用 apt-get install 的時(shí)候會(huì)發(fā)現(xiàn)很多源都找不到涂邀,原因是系統(tǒng)初始的資源庫(kù)找不到指定的包,可參考如下解決辦法:
?1箱锐、執(zhí)行下面的命令比勉,編輯系統(tǒng)資源庫(kù)列表: ? ? ? ? ? ? ?vi /etc/apt/sources.list
?2、修改為以下內(nèi)容(原來(lái)的內(nèi)容可以注釋一下):?
附:
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
之后再次執(zhí)行update和upgrade操作驹止,然后重新安裝三個(gè)命令(mkfontscale浩聋、mkfontdir、fc-cache)臊恋,發(fā)現(xiàn)都可以安裝成功衣洁。
安裝 fc-cache 命令
## apt-get install fontconfig
之后可以將已經(jīng)安裝上述命令的鏡像重新 commit 為一個(gè)新的基礎(chǔ)鏡像,后續(xù)如果需要安裝其他字體就可以正常操作了抖仅。