読者です 読者をやめる 読者になる 読者になる

てきとうなメモ

本の感想とか技術メモとか

ロケールとマニュアルのあるCentOS6のDockerイメージを作ってみた

CentOSの公式パッケージはイメージのサイズを小さくしようとするためなのか、以下のようにロケールやマニュアルを削除してしまっている。

# effectively: febootstrap-minimize --keep-zoneinfo --keep-rpmdb
# --keep-services "$target".  Stolen from mkimage-rinse.sh
#  locales
rm -rf "$target"/usr/{{lib,share}/locale,{lib,lib64}/gconv,bin/localedef,sbin/build-locale-archive}
#  docs
rm -rf "$target"/usr/share/{man,doc,info,gnome/help}
#  cracklib
rm -rf "$target"/usr/share/cracklib
#  i18n
rm -rf "$target"/usr/share/i18n
#  sln
rm -rf "$target"/sbin/sln
#  ldconfig
rm -rf "$target"/etc/ld.so.cache
rm -rf "$target"/var/cache/ldconfig/*

サイズが小さい方が良いのは良いのだけども、ロケールやマニュアルがないと困る部分も多々あるので、上記のツールを修正してみた

$ ./mkimage-yum.sh centos6

と実行するとcentos6.tarがカレントディレクトリに作成される。あとは

$ cat centos6.tar | docker import - name:tag

を実行してimportできる