Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
55
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@mumoshu

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

参考

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
55
Help us understand the problem. What are the problem?