Dockerでいい感じのDebianのイメージが欲しい 最新 - Qiita
以前に書いたこの記事ですが,最近またいじりはじめたので今やっている方法をまとめておきます.
現在サポートされているものは docker/mkimage-debootstrap.sh at master · docker/docker とのことです
Debian 以外の debootstrap
が使えるディストリビューションに対応しているようですが Debian でしか動かしたことないです.
それで以下の様に実行します.
LANG=C ./mkimage-debootstrap.sh -t wheezy.tar wheezy http://ftp.jp.debian.org/debian
これで apt のミラーが日本のものの wheezy のイメージである wheezy.tar というファイルが手に入ります.
このファイルをインポートするには以下のようにします
cat wheezy.tar | docker import - catatsuy/wheezy
このスクリプトは debootstrap
に --variant=minbase
が指定されているために普通の Debian には入っているパッケージなどが入っていなかったりします.
Best practices for writing Dockerfiles - Docker Documentation
ここにあるように Docker のイメージには不要なパッケージのインストールは避けるべきなので --variant=minbase
で最低限のパッケージのみをインストールして必要な物は全部 Dockerfile に書いてあげます.
このイメージを使った Dockerfile は以下の様になります.
FROM catatsuy/wheezy
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y \
ca-certificates
ca-certificates は SSL の証明書で Debian だと標準で入っていないので外部と HTTPS で通信をしようとすると失敗するので必要な可能性が高い上にはまりやすいところだと思うので気を付けてください(というかはまりました).
これを土台に必要なものをインストールしていくといい感じになります.