概要
Docker が今までどんな過程を経て成長してきたか俯瞰したかったため、Docker の誕生から現在までのリリースや出来事、関連ベンダー・プロジェクトの動きなどをまとめてみました。
- リリースの詳細は 0.7 以降について記載しています
- 関連ベンダー・プロジェクトについては書き出すときりがないため、個人的に重要と感じたネタのみ書いてます。
過程
[2013/3] Docker オープンソース化
PaaS ベンダーの dotCloud社が、Docker をオープンソースとして公開。
【参考リンク】
[2013/10/29] 社名を dotCloud から Docker へ変更
これまで dotCloud, Inc だった社名を Docker, Inc に変更。
【参考リンク】
- https://blog.docker.com/2013/10/dotcloud-is-becoming-docker-inc/
- http://www.publickey1.jp/blog/13/dotclouddockerdocker.html
[2013/11/26] Docker 0.7 リリース
【主な変更点】
- 主要な全Linuxディストリビューションに対応
これ以前は特定のディストリビューションやカーネルのパッチ適用が必要だった(AUFSを使うため)。 - Storage Driver の導入
Dockerが使うファイルシステムを選択する機構。AUFS、Device Mapper、VFS のドライバが同梱された。Dockerはそれまで、標準 Linuxカーネルに含まれてない AUFS を使っていたためディストリビューションによってはカーネルのパッチ適用が必要だったが、それが不要になった。 - その他、Links、コンテナの名前付けなど。
【参考リンク】
- https://blog.docker.com/2013/11/docker-0-7-docker-now-runs-on-any-linux-distribution/
- http://www.1x1.jp/blog/2013/12/storage-driver-on-docker07.html
- http://qiita.com/DQNEO/items/ee0caf80b056487cb762
- http://www.publickey1.jp/blog/13/docker_07linux.html
[2013/12/2] Google Compute Engine での Docker サポート
Google Compute Engine が正式サービスとしてリリースされ、Docker のサポートも発表された。
【参考リンク】
- http://googlecloudplatform.blogspot.jp/2013/12/google-compute-engine-is-now-generally-available.html
- http://www.publickey1.jp/blog/13/google_compute_enginedockerfreebsdcoreos1gb4.html
[2014/2/4] Docker 0.8 リリース
機能よりも品質を優先した初のリリース。
【主な変更点】
- Mac OS X のサポート
- Storage Driver でのBTRFS 対応(Experimental)
【参考リンク】
- https://blog.docker.com/2014/02/docker-0-8-quality-new-builder-features-btrfs-storage-osx-support/
- http://www.atmarkit.co.jp/ait/articles/1402/10/news114.html
[2014/3/10] Docker 0.9 リリース
LXC から libcontainer へ置き換えがメイン。
【主な変更点】
- Execution Driver の実装とlibcontainer の導入
Execution Driver は、コンテナの実行ドライバを選択する機構。Dockerはそれまで LXCを使っていたが、Execution Driver の導入と同時に libcontainer を使用する Native ドライバに置き換え。libcontainer は独自開発したモジュールでカーネルのコンテナAPIを直接呼び出す。 LXCも利用可能だがオプション扱い。
【参考リンク】
- https://blog.docker.com/2014/03/docker-0-9-introducing-execution-drivers-and-libcontainer/
- https://jpetazzo.github.io/2014/03/23/lxc-attach-nsinit-nsenter-docker-0-9/
- http://www.infoq.com/news/2014/03/docker_0_9
- http://www.publickey1.jp/blog/14/docker_09lxc.html
[2014/4/8] Docker 0.10 リリース
Verson 1.0 に向けて、品質向上や運用系ツールとの連携を主としたリリース。
【主な変更点】
- systemd プラグイン
- Docker API への TLS/SSL証明書を用いたアクセス制限
【参考リンク】
[2014/4/8] AWS Beanstalk での Docker サポート
Docker のサポートにより、Beanstalk で好みの開発言語やフレームワークを利用できるようになった。
【参考リンク】
- http://aws.typepad.com/aws_japan/2014/04/aws-elastic-beanstalk-for-docker.html
- https://blog.docker.com/2014/04/aws-elastic-beanstalk-launches-support-for-docker/
- http://dev.classmethod.jp/cloud/aws/beanstalk-and-docker/
[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)など。
【参考リンク】
- https://blog.docker.com/2014/05/docker-0-11-release-candidate-for-1-0/
- http://www.publickey1.jp/blog/14/docker_01110.html
[2014/5/29] Cloud Foundry Foundation への参加を発表
Docker 社が、PaaS基盤ソフトを開発している Cloud Foundry Foundation への参加を発表。
【参考リンク】
- https://blog.docker.com/2014/05/docker-joins-cloud-foundry-foundation/
- http://www.publickey1.jp/blog/14/dockercloud_foundry_foundationcloud_foundrydocker.html
[2014/6/9] Docker 1.0 リリース
本番環境への導入に向けた正式版 1.0 のリリース。
【主なアナウンス】
- 品質、機能、APIの安定性が企業で使えるレベルに達した
- 本番環境導入に向けたドキュメント、サポートなどを提供する
- Docker はプラットフォームを表す名称とし、ランタイムやパッケージツールは Docker Engineとする。
- Docker Hub とオフィシャル リポジトリの発表
【主な変更点】
- Dockerfile での COPY の追加、ADD の改善
- 実行中のコンテナの pause と unpause
など。
【参考リンク】
- https://blog.docker.com/2014/06/its-here-docker-1-0/
- https://blog.docker.com/2014/06/announcing-docker-hub-and-official-repositories/
- http://www.publickey1.jp/blog/14/docker_10docker.html
- http://www.publickey1.jp/blog/14/docker_hubdockerdocker.html
- http://ameblo.jp/tech-cz/entry-11876197360.html
[2014/6/10] Google AppEngine での Docker 正式サポート、Kubernetes の公開
Google AppEngine の Managed Virtual Machines で Docker のビルドやデプロイができるようになった。
Kubernetes はコンテナのオーケストレーションツールで、 OSSとして公開された。
【参考リンク】
- http://googlecloudplatform.blogspot.jp/2014/06/an-update-on-container-support-on-google-cloud-platform.html
- http://www.publickey1.jp/blog/14/google_app_enginedocker.html
[2014/7/3] Docker 1.1.0 リリース
【主な変更点】
- .dockerignore ファイル
イメージのビルド時に、Dockerデーモンに送らないファイル・ディレクトリを指定する - コミット時のコンテナのPause
実行中のコンテナをコミットする際に、そのコンテナをPauseさせる。 - その他、ログ取得のtailコマンドの追加、docker build の tar ファイルを渡せるようになったなど。
【参考リンク】
- https://blog.docker.com/2014/07/announcing-docker-1-1/
- http://www.publickey1.jp/blog/14/docker_11.html
- http://www.infoq.com/jp/news/2014/07/docker-ignore-pause
[2014/7/10] Kubernetes コミュニティに参加
Docker社、および、Microsoft、Red Hat、IBM、Mesosphere、CoreOS、SaltStack が Kubernetes コミュニティ に参加。
【参考リンク】
- http://googlecloudplatform.blogspot.jp/2014/07/welcome-microsoft-redhat-ibm-docker-and-more-to-the-kubernetes-community.html
- http://www.itmedia.co.jp/news/articles/1407/11/news041.html
[2014/7/11] CoreOS の最初の安定板がリリース
Docker Engine の実行に最適化した軽量の Linux ディストリビューションである CoreOS の安定板がリリース。
【参考リンク】
- https://coreos.com/blog/stable-release/
- http://www.infoq.com/jp/news/2014/08/coreos-first-stable-release
- http://www.publickey1.jp/blog/14/dockerlinuxcoreosawsgoogle_compute_engine.html
[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 コミュニティへの参加
【参考リンク】
- https://blog.docker.com/2014/08/docker-vmware-1-1-3/
- http://www.vmware.com/company/news/releases/vmw-newsfeed/VMware-Teams-With-Docker,-Google-and-Pivotal-to-Simplify-Enterprise-Adoption-of-Containers/1872989
- http://www.publickey1.jp/blog/14/vmwaredockerkubernetes.html
- https://www.nisshoblocks.com/p/2439/
[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 アプリを配備できるようになる
【参考リンク】
- http://weblogs.asp.net/scottgu/docker-and-microsoft-integrating-docker-with-windows-server-and-microsoft-azure
- http://blogs.msdn.com/b/windowsazurej/archive/2014/10/20/blog-new-windows-server-containers-and-azure-support-for-docker.aspx
- https://blog.docker.com/2014/10/docker-microsoft-partner-distributed-applications/
- http://www.publickey1.jp/blog/14/dockerwindows_serverdockermicrosoft_azuredocker_hub.html
- http://jp.techcrunch.com/2014/10/16/20141015microsoft-partners-with-docker-to-bring-container-support-to-windows-server/
[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 のラベルとプロファイルを設定する
【参考リンク】