概要
Docker 社のブログに Docker 1.11 リリースに関する投稿があり、以下は、技術的な要素を要約したもの+各リリースノートへのリンク。参考程度にどうぞ。
Docker 1.11 のリリース
- Docker Engine は runC と containerd を基にして開発した(OCI準拠)初めてのリリース。
- Docker が 昨年6月にコンテナ規格とランタイムを寄贈した成果。
- containerd を去年12月に発表 し、Engine に取り込んだ初めてのリリース。
- Docker Engine を使えば自動的に OCI に準拠するシステムを使うことになる。
- コマンドラインや API に変更はない。これまで通り、ユーザは Docker Engine と通信する。
- Engine は containerd と通信する。containerd はランタイムとして runC を使う。
- containerd との統合により、Docker のコードがキレイになり、歴史的なバグも修正。
- コンテナ作成時間が前よりも速くなり、将来的には更に改良。
- runC は Open Containers Runtime specification(オープン・コンテナ・ランタイム仕様)に準拠する初の実装であり、Docker Engine の標準 executor (実行ランタイム)。
- ランタイムは利用者の用途に応じて取り付け・取り外し可能。将来的には他の executor もサポート。
- 更に詳細 https://blog.docker.com/2016/04/docker-containerd-integration/
Docker Engine 1.11 の機能
- DNS ラウンドロビン負荷分散:Docker ネットワーク上でコンテナの負荷分散ができる。複数のコンテナを同じエイリアスで指定すると、Docker のサービスディスカバリがラウンドロビン DNS でアドレスを返す。
- VLAN サポート(実験的):experimental 版で VLAN のサポート。
- IPv6 サービス・ディスカバリ:AAAA レコードを返せるようになる。
- Yubikey ハードウェア・イメージ署名をサポート
- ネットワークとボリュームのラベル対応:コンテナやイメージ同様、キーバリュー形式でラベルを指定可能に。
- device mapper 利用時、ディスク領域が少なくなった時の対処:オプション
dm.min_free_space
で完全に領域を圧迫する前に停止。 - docker inspect に status フィールド:コンテナの状態を確認できる。
- リリースノートに詳細 https://github.com/docker/docker/releases/tag/v1.11.0
Compose 1.7
-
docker-compose up
に--build
オプション:docker-compose build
とdocker-compose up
を1つに。必要に応じ、実行時に毎回最新版をビルドできる。 -
docker-compose exec
コマンド:docker exec
コマンドのミラーリング。 - リリースノート https://github.com/docker/compose/releases/tag/1.7.0
Swarm 1.2
- コンテナの再スケジューリング(rescheduling)が安定版に:ノードが停止すると、コンテナを自動的に再スケジュールする。
- リリースノート https://github.com/docker/swarm/releases/tag/v1.2.0
Machine 0.7
- 新しい Azure API に対応
- リリースノート https://github.com/docker/machine/releases/tag/v0.7.0
Registry 2.4
- ガベージコレクション:管理者向けのクリーンアップ機能。
- S3 ドライバが高速・安定化:公式 Amazon S3 SDK に対応
- リリースノート https://github.com/docker/distribution/releases/tag/v2.4.0
参考
- Docker 1.11: The first OCI-compliant runtime, built on containerd | Docker Blog
- https://blog.docker.com/2016/04/docker-engine-1-11-runc/