仲間の港湾労働者、
本日は Docker 0.9 をご紹介いたします。 このリリースでは、機能よりも品質に引き続き重点を置き、コアを縮小および安定化し、すべての主要なオペレーティングシステムにファーストクラスのサポートを提供します。
多数のバグ修正に加えて、Docker 0.9には、実行ドライバー と libcontainerの2つの主要な改善が含まれています。
いつものように、改善の完全なリストについては、 変更ログを確認できます。
実行ドライバー
まず、各コンテナを取り巻く実行環境をカスタマイズできる 実行ドライバ APIを紹介します。 これにより、Docker は利用可能な多数の分離ツールを利用することができ、それぞれに特定のトレードオフとインストールベースがあります: OpenVZ、systemd-nspawn、libvirt-lxc、libvirt-sandbox、qemu/kvm、BSD jails、Solaris Zones、さらには古き良き chroot です。 これはLXCに追加されるもので、LXCは引き続き独自のドライバーとして利用できます。
より多くのドライバーを開発するために、すでにいくつかのプロジェクトが進行中です。 楽しみに参加してみませんか? Freenodeの #docker-devで挨拶してください、そして私たちはあなたが始めるのを手伝います。
新しいデフォルトドライバ: libcontainer
次に、LXC ドライバと一緒に出荷される新しい組み込み実行ドライバを導入します。 このドライバーは、他の依存関係なしでカーネルのコンテナAPIに直接アクセスするために開発した純粋なGoライブラリである libcontainerに基づいています。
libcontainer のおかげで、Docker は名前空間、コントロールグループ、機能、apparmor プロファイル、ネットワークインターフェイス、ファイアウォールルールを、LXC や他のユーザランドパッケージに依存することなく、一貫性のある予測可能な方法で操作できるようになりました。 これにより、可動部分の数が大幅に削減され、LXCのバージョンやディストリビューション全体で導入された副作用からDockerが分離されます。 実際、libcontainerは安定性を大幅に向上させたため、デフォルトにすることにしました。 言い換えると、Docker 0.9 以降、LXC はオプションになりました。 LXC ドライバに戻すには、 単に docker -d -e lxc を使用して Docker デーモンを再起動します。もちろん、今後もLXCドライバーをサポートしていきます。
Goプロジェクトでのライブラリコンテナの使用
私たちは、他のプロジェクトがそれを再利用することを期待して libcontainer を開発しました。 Linuxのネイティブコンテナ機能(名前空間、cgroup、機能など)を試すことに興味がある場合は、ハッキングを開始することをお勧めします。 開始するには、Goパッケージを入手してAPIドキュメントを確認してください。
github.com/dotcloud/docker/pkg/libcontainer を取りに行くゴドック github.com/dotcloud/docker/pkg/libcontainer
目標1.0
このリリースは、安定した本番環境対応の1.0リリースに向けた大きな一歩です。 次のリリースである 0.10 を 1.0 の最初のリリース候補にする予定です。
前に説明したように、Docker 1.0 の目標は次のとおりです。
-
生産品質
-
すべての主要なオペレーティングシステムのファーストクラスのサポート
-
縮小されたコアと安定したプラグインアーキテクチャ
-
十分に文書化されている
-
Dockerとそのパートナーが商業的にサポートできる
-
長期的なサポートを提供できるDocker
私たちはすでに0.10の準備に熱心に取り組んでおり、あなたが気に入ると思ういくつかのエキサイティングな改善があります。 スニークピークをご希望の場合、または貢献したい場合は、挨拶に来てください! フリーノードで #docker しています。 私たちはあらゆるレベルの愛好家を歓迎し、あなたがあなたの最初の貢献を始めるのを手伝うことができます。 いつものように、352人の強力な貢献者のコミュニティに感謝します!
ありがとう、そして幸せなハッキング!
ドッカーチーム