アプリの構築に懸命に取り組んでいます。Dockerコンテナを起動するために必要なすべてを含みます。ツールによりホストからDockerコンテナに対し、ストレージとネットワークを効率的に橋渡しします。両方で透過的に機能しますので、第三者のソフトウェアを必要としません。Dockerは常にオープンソース基盤上に構築されてきました。Hykesがキーノートに登壇し、ますます増加する改革について語りました。オープンソースの共同開発が原動力となり、Dockerの歴史を作り上げたのです。Windowsデスクトップアプリケーションの原動力であるコア技術をオープンソース化します。既存のコードに加えて、更にオープンソースに寄与します。技術が必要でしたが、エンドユーザーにその魔法をさらしてはなりませんでした。我々のアプリケーションの隠れた部分を見て、このソースコードが何をするのかを理解しましょう。どのように寄与するか、またはプロジェクトにどのように活用するかを考えましょう。Engineの安定版リリースを含む、単一の埋め込み型Linuxインスタンスを実行するためだけに存在する軽量のスーパーバイザーを起動します。多くのハイパーバイザーと異なり、特別な管理者権限は必要ありません。10.10より利用可能)を利用するためです。間を分かりやすくマッピングするホストネットワークとストレージ容量を供給するライブラリをまとめています。本日我々は、これらを別のコンポーネント(構成要素)として、オープンソース化を発表します。Windowsのリリースをビルドするのに使用するのと同じソースコードです。新しいコンポーネントは次の通りです。Windowsのような完全な製品と併用もできます。これはほんの始まりにすぎません。我々は将来、より多くの構成要素を、それらが成熟するにつれてオープンにします(例:ファイルシステム・ネットワーク)。VPNKitは先駆的なプロジェクト群の始まりなのです。HyperKitHyperkitは仮想化の軽量アプローチに基づいています。10.10以降で提供されているハイパーバイザーフレームワークにより可能となります。アプリケーションはハードウェア仮想化を利用してVMを実行することができますが、権限の昇格や複雑な管理ツール群は必要ありません。HyperkitはxHyveとbHyveプロジェクトを基礎としています。VPNKitやDatakitのような他のコンポーネントとの相互作用を容易にするため、Hyperkitには追加の機能がついています。Hyperkitの大部分がライブラリで構成されているため、unikernelライブラリにリンクするのは簡単です。QCowライブラリを使用する、持続性のあるブロックデバイスのサポートを追加しました。どのように貢献できるのか?貢献できる領域は大きく3つあります。多くのゲストオペレーションシステムの起動をサポート。Linuxは現状では唯一の「最上級の」サポートされたオペレーティングシステムです。FreeBSDでも起動はしますが、インストーラを実行する必要があるため、それほどシームレスではありません。NetBSDで起動するために、より多くのBIOSサポートを追加するようなパッチも存在しますが、より多くの検証を要します。高度な言語との連携をサポート。Hyperkitはライブラリとして構成されているため、通常の外部機能インターフェースを用いて高度言語のインターフェースにできます。ライブリロケーション、そしてハードウェアパフォーマンスカウンターのような従来のハイパーバイザー機能のいくつかはサポートされていません。Hyperkitが軽量で埋め込みが容易であるためには、残りのコード群を何らかのライブラリ風で追加する必要があります。それぞれ独立した体制で上流プロジェクトに送られるため、どのような形であれ確実に貢献できます。他にどのような使い方がありますか?特定の目的または短命の仮想マシンはHyperKitにリンクすると便利です。プロジェクトであるかもしれません。DataKitDatakitは、gitと互換性のあるファイルシステムインターフェースとプロセスを調整する際に使うツールキットです。9Pプロトコルに立ち戻っていますが、モダンツイストに関しては、ローテキストではなくツリー構造データのストリームを使用しています。DataKitは、疎結合のプロセス間の複雑なワークフローを定義するのに役立ちます。その簡潔さは、バージョンがコントロールされているファイルシステムと相互作用するシェルスクリプトに匹敵する程です。データフローに関して、DataKitのアプリケーションアーキテクチャを再考しました。9の知恵を思い起こしました。WindowsではDataKitと9Pを大いに活用しているので、go-p9pもオープンソース化するつもりです。他にはどのような使い方がありますか?DataKitを使用しているサンプルプロジェクトがあります。このレポジトリで、50行のシェルスクリプトに、連続的な統括システムを作成しています:github.com/docker/datakit/tree/master/ciまた、READMEもGitHubでDataKit統括に触れています。DataKitは、データにおいてプロセスを調整する必要がある時、さらにはそのデータがバージョン管理されるようになって光らせる必要がある時など、どのような状況においても使用できます。PRサポートはまだかなり基本的なものですので、この分野でさらに貢献することができるでしょう。DataKitはかなり用途が広いです。プロジェクトでの使用方法のシェアなどに使えます。XまたはWindowsでそれに相当するソケットコールとの間で翻訳を行うネットワーキングライブラリです。unikernelスタックをベースとする、OCamlで書かれたライブラリです。VPNKitは、ユーザースペースでネットワーキングプロトコルに精度の高い制御を行う必要がある際に役立ちます。ハイレベル言語においても伸張性があるという利便性もあります。Windowsにおけるすべてのコンテナトラフィックに傍受ポイントを提供します。パケットキャプチャと点検、特定のトラフィックパターンにフィルターをかけるプロトコルプロキシ、また、ウェブアプリケーションをデバッグするためのHTTPプロトコル視覚化までもサポートできます。他にはどのような使い方がありますか?VPNKitのサポートするエンドポイントタイプが増えれば、実際の作成や移送の負担なくネットワークトラフィックを検証できるようにもなるでしょう。アプリケーションコンポーネント間に軽量のオーバーレイネットワークを構築するのにも使用できるでしょう。Windowsで使用が始まったのは、極めて特定の目的を持ったコンポーネントとして、でした。それらをオープンソース化することで新たに生まれる可能性があります。私たちのアイデアを聞いても疲れるだけですから、あなたのプロジェクトを聞かせてください。問題に遭遇したら、それぞれのバグトラッカーに記録しておいてください。お望みであれば、特定のアイデアに関して議論を行っても良いです。OSCONにいらっしゃる場合は、これらのプロジェクトの管理者のところへ来て協力をお願いします。会議室6で木曜午後3時から6時まで行うOSCON貢献セッションに来てください。Windowsの中身のさらなる詳細は、私が昨日OSCONで行ったトークのスライドをご覧ください。betaに登録し、フィードバックを送ってください。汎用性向上のための改善に役立ちます。最後に、このリリースを行うにあたって、オープンソースに関して力を借りた皆さん、ありがとうございました。Windowsの謝辞には、製品に直接役立った貢献を何百とリストアップしています。そちらもチェックしてみてください。自身で製作をする際に役に立つことを願っています。Hubアカウントでシェアしてみましょう。1.12リリースノートを読んでみましょう。Weeklyを購読してみましょう。・次に予定されているDockerオンラインMeetupに登録してみましょう。Meetupに参加してみましょう。2016に登録してみましょう。2015のビデオを見てみましょう。・Dockerコミュニティへの貢献を始めましょう。LABの情報を逃さずチェックしよう!メールアドレスを登録すると記事が投稿されるとメールで通知します。※登録後メールに記載しているリンクをクリックして認証してください。LABの情報を逃さずチェックしよう!メールアドレスを登録すると記事が投稿されるとメールで通知します。※登録後メールに記載しているリンクをクリックして認証してください。