Docker のベースイメージを自作する考え方を整理します。既存イメージを使うだけで十分な場面も多いですが、企業内や閉域環境では、タイムゾーン、証明書、基本パッケージ、内部レジストリを含めた標準ベースを用意したいことがあります。
参考
書籍
書籍
参考書籍
Kubernetes完全ガイド 第2版
Kubernetes、コンテナ、クラスタ運用、ネットワークまわりを体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
Dockerfile
FROM ubuntu:22.04
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get -y upgrade && DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates tzdata && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && echo Asia/Tokyo > /etc/timezone && apt-get clean && rm -rf /var/lib/apt/lists/*ビルド
docker build -t harbor.example.local/library/ubuntu-22.04-base:1.0.0 .
docker images harbor.example.local/library/ubuntu-22.04-base確認
docker run --rm harbor.example.local/library/ubuntu-22.04-base:1.0.0 cat /etc/os-release
docker run --rm harbor.example.local/library/ubuntu-22.04-base:1.0.0 datepush
docker login harbor.example.local
docker push harbor.example.local/library/ubuntu-22.04-base:1.0.0まとめ
ベースイメージを自作する目的は、独自性を出すことではなく、組織内で共通化したい前提を固定することです。肥大化を避け、タイムゾーン、証明書、最低限のパッケージに絞ると運用しやすくなります。
Docker コンテナを自作する #1 Ubuntu ベースイメージ



