search
LoginSignup
56

More than 5 years have passed since last update.

posted at

updated at

Dockerベースイメージの特徴と比較・選び方

個人的にベースイメージとしての利用を検討したことがあるDockerイメージについて、それぞれの特徴を比較して選ぶために調べたことをまとめます。

TL;DR;

OS・イメージ毎に以下の点を考慮して、総合的に決める。

評価軸

  • イメージの生い立ち
    • 誰がどのようなフローで作ったイメージか
  • セキュリティ
    • 不要なパッケージの多さ、減らしやすさ
      • 基本的には不要パッケージが少ないほど潜在的なAttack Surfaceが減る
    • 脆弱性があることを検知できるか
    • 脆弱性対応状況が公開されているか
    • 何年セキュリティパッチが受けられるか
  • Dockerイメージのサイズ
    • 最小サイズ
  • アプリの実行環境を整えるまでに必要な手数
    • パッケージマネージャでインストールできるものの多さ、新しさ
  • (場合によっては)有償サポートが受けられるか
  • 開発者・運用者のそのOSに対する習熟度
    • 企業なら、既に運用しているOSがあれば

評価例(人や企業によらない部分のみ)

CentOS

公式centosイメージ

DockerHub: https://hub.docker.com/_/centos/
GitHub: https://github.com/CentOS/sig-cloud-instance-images

Debian

Docker公式debianイメージ

DockerHub: https://hub.docker.com/_/debian/
GitHub: https://github.com/tianon/docker-brew-debian

  • tianonさんとDebian開発者のpaultagさんによりメンテされている
    • tianonさん(Tianon Graviさん)は、InfoSiftr社のSVP of Operations
    • tianonさんはDocker公式ubuntuイメージのメンテナでもある
  • Docker Security Scanningで脆弱性情報を閲覧可能 https://hub.docker.com/r/library/debian/tags/

minideb

  • Bitnami社がメンテしている
  • Debianからコンテナに不要なEssentialパッケージをいくつか削除したもの
  • 「aptが使える最小のコンテナイメージ」を目指している

Ubuntu

Docker公式ubuntuイメージ

DockerHub: https://hub.docker.com/_/ubuntu/

appcontainers/ubuntu

ブログ: http://www.appcontainers.com/appcontainersubuntuxenial/
DockerHub: https://hub.docker.com/r/appcontainers/ubuntu/

  • 公式ubuntuイメージから記事に書かれている通り一部パッケージを削除して、export&loadしてレイヤーを一枚にしたもの

ubuntu-slim

Docker: gcr.io/google_containers/ubuntu-slim:0.3
GitHub: https://github.com/kubernetes/contrib/tree/master/images/ubuntu-slim

  • 公式ubuntuイメージからコンテナOSとして不要なものを削除して、1レイヤーにしたもの
  • 公式ubuntuイメージの半分ほどのサイズ
  • 削除されたパッケージ
  • 削除されたファイル
  • Kubernetesコミュニティでメンテされている
  • appcontainers/ubuntuより多くのパッケージが削除されているように見える(systemd等)

非公式のSnappy Ubuntu Core

ブログ1: http://andrea.corbellini.name/2015/03/25/running-ubuntu-snappy-inside-docker/
ブログ2: http://www.arvinep.com/2015/12/create-snappy-ubuntu-as-docker-image.html

  • 公式ubuntuイメージなどと違って、Ubuntuからrootfsのアーカイブが提供されていないので色々苦労しているみたい

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
56