Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

個人的にベースイメージとしての利用を検討したことがある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

https://github.com/bitnami/charts

  • 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のアーカイブが提供されていないので色々苦労しているみたい

参考

mumoshu
AWS Container Hero maintaining kube-aws, eksctl, brigade, helmfile, helm-diff, etc.
https://github.com/mumoshu/
freee
スモールビジネスのバックオフィス業務をテクノロジーで自動化し、日本のスモールビジネスを元気にする
http://www.freee.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした