LoginSignup
17
16

More than 5 years have passed since last update.

Docker 誕生から現在までの過程を俯瞰する 1 (2013/3~2014/10)

Last updated at Posted at 2015-07-20

概要

Docker が今までどんな過程を経て成長してきたか俯瞰したかったため、Docker の誕生から現在までのリリースや出来事、関連ベンダー・プロジェクトの動きなどをまとめてみました。

  • リリースの詳細は 0.7 以降について記載しています
  • 関連ベンダー・プロジェクトについては書き出すときりがないため、個人的に重要と感じたネタのみ書いてます。

過程

[2013/3] Docker オープンソース化

PaaS ベンダーの dotCloud社が、Docker をオープンソースとして公開。

【参考リンク】

[2013/10/29] 社名を dotCloud から Docker へ変更

これまで dotCloud, Inc だった社名を Docker, Inc に変更。

【参考リンク】

[2013/11/26] Docker 0.7 リリース

【主な変更点】

  • 主要な全Linuxディストリビューションに対応
    これ以前は特定のディストリビューションやカーネルのパッチ適用が必要だった(AUFSを使うため)。
  • Storage Driver の導入
    Dockerが使うファイルシステムを選択する機構。AUFS、Device Mapper、VFS のドライバが同梱された。Dockerはそれまで、標準 Linuxカーネルに含まれてない AUFS を使っていたためディストリビューションによってはカーネルのパッチ適用が必要だったが、それが不要になった。
  • その他、Links、コンテナの名前付けなど。

【参考リンク】

[2013/12/2] Google Compute Engine での Docker サポート

Google Compute Engine が正式サービスとしてリリースされ、Docker のサポートも発表された。

【参考リンク】

[2014/2/4] Docker 0.8 リリース

機能よりも品質を優先した初のリリース。

【主な変更点】

  • Mac OS X のサポート
  • Storage Driver でのBTRFS 対応(Experimental)

【参考リンク】

[2014/3/10] Docker 0.9 リリース

LXC から libcontainer へ置き換えがメイン。

【主な変更点】

  • Execution Driver の実装とlibcontainer の導入
    Execution Driver は、コンテナの実行ドライバを選択する機構。Dockerはそれまで LXCを使っていたが、Execution Driver の導入と同時に libcontainer を使用する Native ドライバに置き換え。libcontainer は独自開発したモジュールでカーネルのコンテナAPIを直接呼び出す。 LXCも利用可能だがオプション扱い。

【参考リンク】

[2014/4/8] Docker 0.10 リリース

Verson 1.0 に向けて、品質向上や運用系ツールとの連携を主としたリリース。

【主な変更点】

  • systemd プラグイン
  • Docker API への TLS/SSL証明書を用いたアクセス制限

【参考リンク】

[2014/4/8] AWS Beanstalk での Docker サポート

Docker のサポートにより、Beanstalk で好みの開発言語やフレームワークを利用できるようになった。

【参考リンク】

[2014/5/7] Docker 0.11 リリース

正式版(Verson 1.0)に向けた最初の候補版。

【主な変更点】

  • SE Linux サポート
  • Host networking
    host networking モードのコンテナから、ホストのネットワークインターフェイスに直接アクセス可能になった
  • Link hostnames
    コンテナがLink接続されているときに、お互いをホスト名で見つけられるように
  • その他、Link hostnames(Link接続しているコンテナ間で相手をホスト名で見つける)、Ping Docker daemon(Docker デーモンへのPing)など。

【参考リンク】

[2014/5/29] Cloud Foundry Foundation への参加を発表

Docker 社が、PaaS基盤ソフトを開発している Cloud Foundry Foundation への参加を発表。

【参考リンク】

[2014/6/9] Docker 1.0 リリース

本番環境への導入に向けた正式版 1.0 のリリース。

【主なアナウンス】

  • 品質、機能、APIの安定性が企業で使えるレベルに達した
  • 本番環境導入に向けたドキュメント、サポートなどを提供する
  • Docker はプラットフォームを表す名称とし、ランタイムやパッケージツールは Docker Engineとする。
  • Docker Hub とオフィシャル リポジトリの発表

【主な変更点】

  • Dockerfile での COPY の追加、ADD の改善
  • 実行中のコンテナの pause と unpause
    など。

【参考リンク】

[2014/6/10] Google AppEngine での Docker 正式サポート、Kubernetes の公開

Google AppEngine の Managed Virtual Machines で Docker のビルドやデプロイができるようになった。
Kubernetes はコンテナのオーケストレーションツールで、 OSSとして公開された

【参考リンク】

[2014/7/3] Docker 1.1.0 リリース

【主な変更点】

  • .dockerignore ファイル イメージのビルド時に、Dockerデーモンに送らないファイル・ディレクトリを指定する
  • コミット時のコンテナのPause
    実行中のコンテナをコミットする際に、そのコンテナをPauseさせる。
  • その他、ログ取得のtailコマンドの追加、docker build の tar ファイルを渡せるようになったなど。

【参考リンク】

[2014/7/10] Kubernetes コミュニティに参加

Docker社、および、Microsoft、Red Hat、IBM、Mesosphere、CoreOS、SaltStack が Kubernetes コミュニティ に参加。

【参考リンク】

[2014/7/11] CoreOS の最初の安定板がリリース

Docker Engine の実行に最適化した軽量の Linux ディストリビューションである CoreOS の安定板がリリース。

【参考リンク】

[2014/7/23] Orchard 社を買収

オーケストレーションツールの fig を開発していた Orchard 社を、Docker 社が買収。

【参考リンク】

[2014/8/22] Docker 1.2.0 リリース

【主な変更点】

  • docker run コマンドに --restart フラグを追加
    コンテナの再起動ポリシーを no(デフォルト)、on-failure、alwaysから指定可能
  • docker run コマンドに --cap-add, --cap-drop フラグを追加
    コンテナの権限を細かく調整できる。おそらく、Linux の capability を使う機能。
  • docker run コマンドに --device フラグを追加
    利用するデバイスファイルを指定する

などなど。

【参考リンク】

[2014/8/25] VMware社 が Docker、Google との協業を発表

VMware 社のイベントである VMworld 2014 にて、VMware と Docker、Google の協業が発表された。

【主なアナウンス】

  • VMware Fusion、vSphere、vCloud Air を、Docker Engine にとってすぐれた実行環境とする(ensure that the Docker Engine runs as a first-class citizen)
  • Docker関連のOSSプロジェクトである libswarm、libcontainer、libchan へのコントリビュートを行う
  • DockerHub と、vCloud Air、vCenter Server、vCloud Automation Center の相互運用性を向上
  • Kubernetes コミュニティへの参加

【参考リンク】

[2014/10/15] Microsoft が Docker のサポートを発表

Microsoft が次期Windows Server での Docker サポートや Microsoft Azureとの統合を発表。

【主なアナウンス】

  • 次期Windows Server での Docker サポート
    Docker Engine を次期 Windows Serverに統合する。また、Docker Engine for Windows Server はオープンソースプロジェクトとして開発する。
  • Windows ネイティブな Docker クライアントのサポート
    Windows 版 docker クライアントで、Windows/Linux の両環境を管理可能にする
  • Docker Hub から、Docker for Windows Server のコンテナイメージを取得可能にする
  • Microsoft Azure Gallery と管理ポータルに、Docker Hub を統合する
    Azure上で、Linux と Windows のイメージを簡単に配備・実行できるようになる
  • Docker Open Orchestration API を使用した Azure 上のマルチコンテナー Docker アプリのサポート
    Docker コマンドラインから、Azure 上へ直接 Docker アプリを配備できるようになる

【参考リンク】

[2014/10/16] Docker 1.3 リリース

【主な変更点】

  • Docker イメージへのデジタル署名
    Docker イメージの改ざんを防ぐための機能でテクニカルプレビューとして追加。また、Docker Hub のオフィシャル リポジトリにもデジタル署名が付けられた。
  • docker exec コマンドの追加
    Docker コンテナ内で新たにプロセスを実行する。デバッグ用途で使うもので、Docker社の推奨「1つのコンテナに、1つのアプリ」は変更なし。nsinit や nsenter の置き換え。
  • docker create コマンドの追加
    docker run では「コンテナの作成と実行」が行われるが、docker create では「コンテナの作成」だけが行われる。docker start/stop と合わせて、細かくコンテナの動作を制御したいときに使用。
  • docker run に --security-opt フラグを追加
    カスタムの SELinux や AppArmor のラベルとプロファイルを設定する

【参考リンク】

17
16
2

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
  3. You can use dark theme
What you can do with signing up
17
16