Categories: 未分類

Docker(ソフトウェア)

Docker_(software)

は、OSレベルの仮想化ソフトウェアについてです。会社については、
Docker、Incを参照して
Dockerは、 OSレベルの仮想化を使用してコンテナーと呼ばれるパッケージでソフトウェアを配信するPaaS(Platform as a Service )製品のセットです。コンテナは互いに分離されており、独自のソフトウェア、ライブラリ、および構成ファイルをバンドルしています。それらは、明確に定義されたチャネルを介して相互に通信できます。すべてのコンテナーは、単一のオペレーティングシステムカーネルのサービスを共有するため、仮想マシンよりも少ないリソースを使用します。 Docker 原作者
ソロモンハイクス
開発者
Docker、Inc。
初回リリース
2013年3月20日; 8年前 (2013-03-20)
安定リリース
20.10.11   / 2021年11月18日 ; 2ヶ月前  (2021年11月18日)
リポジトリ
github .com / moby / moby
で書かれている
行く
オペレーティング・システム
Linux、Windows、macOS
プラットホーム
x86-64、ARM、s390x、ppc64le
タイプ
OSレベルの仮想化
ライセンス
無料/有料
Webサイト docker.com このサービスには、無料とプレミアムの両方の階層がコンテナをホストするソフトウェアは、DockerEngineと呼ばれます。 2013年に最初に開始され、Docker、Inc。によって開発されました。

コンテンツ
1 手術
1.1 コンポーネント 1.2 ツール
2 歴史
2.1 可決
3 も参照してください
4 参考文献
5 外部リンク

手術

  Dockerは、さまざまなインターフェースを使用してLinuxカーネルの仮想化機能にアクセスできます。
Dockerは、アプリケーションとその依存関係を、Linux、Windows、またはmacOSコンピューターで実行できる仮想コンテナーにパッケージ化できます。これにより、アプリケーションをオンプレミス、パブリッククラウド、プライベートクラウドなどのさまざまな場所で実行できます。 Linuxで実行する場合、DockerはLinuxカーネルのリソース分離機能(cgroupsやカーネル名前空間など)とユニオン対応のファイルシステム(OverlayFSなど)を使用して、コンテナーを単一のLinux内で実行できるようにします。たとえば、仮想マシンの起動と保守のオーバーヘッドを回避します。 macOS上のDockerは、Linux仮想マシンを使用してコンテナーを実行します。
Dockerコンテナーは軽量であるため、単一のサーバーまたは仮想マシンで複数のコンテナーを同時に実行できます。 2018年の分析によると、典型的なDockerのユースケースでは、ホストごとに8つのコンテナーを実行し、分析した組織の4分の1がホストごとに18以上を実行しています。
Linuxカーネルの名前空間のサポートは主に、プロセスツリー、ネットワーク、ユーザーID、マウントされたファイルシステムなどのオペレーティング環境のアプリケーションのビューを分離しますが、カーネルのcgroupはメモリとCPUのリソース制限を提供します。バージョン0.9以降、Dockerには、 libvirt、LXC、systemd-nspawnを介した抽象化された仮想化インターフェースの使用に加えて、Linuxカーネルによって直接提供される仮想化機能を使用する独自のコンポーネント(「libcontainer 」と呼ばれる)が含まれています。
Dockerは高レベルのAPIを実装して、プロセスを分離して実行する軽量のコンテナーを提供します。 Dockerコンテナーは標準プロセスであるため、カーネル機能を使用して実行を監視することができます。たとえば、straceなどのツールを使用してシステムコールを監視および介入することができます。

コンポーネント
サービスとして提供されるDockerソフトウェアは、次の3つのコンポーネントで構成されています。
ソフトウェア: Dockerデーモンは、と呼ばれdockerd、Dockerコンテナを管理し、コンテナオブジェクトを処理する永続的なプロセスです。デーモンは、Docker EngineAPIを介して送信されたリクエストをリッスンします。 と呼ばれるDockerクライアントプログラムは、ユーザーがDockerデーモンと対話できるようにdockerするコマンドラインインターフェイス(CLI)を提供します。
オブジェクト: Dockerオブジェクトは、Dockerでアプリケーションをアセンブルするために使用されるさまざまなエンティティです。Dockerオブジェクトの主なクラスは、イメージ、コンテナー、およびサービスです。
Dockerコンテナーは、アプリケーションを実行する標準化されたカプセル化された環境です。コンテナはDockerAPIまたはCLIを使用して管理されます。
Dockerイメージは、コンテナーの構築に使用される読み取り専用のテンプレートです。画像は、アプリケーションの保存と発送に使用されます。
Dockerサービスを使用すると、コンテナーを複数のDockerデーモン間でスケーリングできます。その結果は、DockerAPIを介して通信する一連の協調デーモンであるswarmとして知られています。
レジストリ: Dockerレジストリは、Dockerイメージのリポジトリです。Dockerクライアントはレジストリに接続して、使用するイメージをダウンロード( “”プル””)するか、ビルドしたイメージをアップロード( “”プッシュ””)します。レジストリはパブリックまたはプライベートにすることができます。2つの主要なパブリックレジストリは、DockerHubとDockerCloudです。Docker Hubは、Dockerがイメージを検索するデフォルトのレジストリです。 Dockerレジストリでは、イベントに基づいて通知を作成することもできます。

ツール
Docker Composeは、マルチコンテナーDockerアプリケーションを定義および実行するためのツールです。 YAMLファイルを使用してアプリケーションのサービスを構成し、1つのコマンドですべてのコンテナーの作成と起動プロセスを実行します。CLIユーティリティを使用すると、ユーザーは複数のコンテナでコマンドを一度に実行できます。たとえば、イメージの作成、コンテナのスケーリング、停止したコンテナの実行などです。画像操作またはユーザー対話型オプションに関連するコマンドは、1つのコンテナーをアドレス指定するため、DockerComposeには関係ありません。 docker-compose.ymlファイルは、アプリケーションのサービスを定義するために使用され、さまざまな構成オプションが含まれています。たとえば、このオプションはDockerfileパスなどの構成オプションを定義し、このオプションを使用すると、デフォルトのDockerコマンドをオーバーライドできます。 Docker Composeの最初のパブリックベータバージョン(バージョン0.0.1)が2013年12月21日にリリースされました。最初の製品対応バージョン(1.0)が2014年10月16日に利用可能になりました。docker-composebuildcommand
Docker Swarmは、Dockerコンテナーにネイティブのクラスタリング機能を提供します。これにより、Dockerエンジンのグループが単一の仮想Dockerエンジンに変わります。 Docker 1.12以降では、SwarmモードがDockerEngineと統合されています。docker swarm CLI ユーティリティを使用すると、ユーザーはSwarmコンテナを実行したり、検出トークンを作成したり、クラスター内のノードを一覧表示したりできます。 CLIユーティリティを使用すると、ユーザーはさまざまなコマンドを実行して、群れのノードを管理できます。docker nodeたとえば、群れのノードの一覧表示、ノードの更新、群れからのノードの削除などです。 Dockerは、Raft コンセンサスアルゴリズムを使用して群れを管理します。Raftによると、更新を実行するには、Swarmノードの大部分が更新に同意する必要が
Docker Volumeは、データの独立した永続化を促進し、コンテナーが削除または再作成された後もデータを保持できるようにします。

歴史
Docker Inc.は、Kamel Founadi、Solomon Hykes、Sebastien Pahl によってYCombinator Summer 2010スタートアップインキュベーターグループで設立され、2011年に立ち上げられました。このスタートアップは、Founder’sDenの最初のコホートの12のスタートアップの1つでもありました。 Hykesは、サービスとしてのプラットフォーム企業であるdotCloud内の内部プロジェクトとしてフランスでDockerプロジェクトを開始しました。
Dockerは2013年にPyConのサンタクララで一般公開されました。 2013年3月にオープンソースとしてリリースされました。 当時、デフォルトの実行環境としてLXCを使用していました。1年後、バージョン0.9のリリースにより、DockerはLXCをGoプログラミング言語で記述された独自のコンポーネントlibcontainerに置き換えました。
2017年、Dockerはオープンリサーチと開発のためのMobyプロジェクトを作成しました。

可決
2013年9月19日:Red HatとDockerは、Fedora、Red Hat Enterprise Linux(RHEL)、およびOpenShiftに関するコラボレーションを発表しました。
2014年10月15日:Microsoftは、DockerエンジンのWindows Serverへの統合、およびWindowsでのDockerクライアントの役割のネイティブサポートを発表しました。
2014年11月: Amazon Elastic Compute Cloud(EC2)のDockerコンテナサービスが発表されました。
2014年11月10日:DockerはStratoscaleとのパートナーシップを発表しました。
2014年12月4日:IBMは、Dockerとの戦略的パートナーシップを発表しました。これによりDockerはIBMクラウドとより緊密に統合できます。
2015年6月22日:Dockerと他のいくつかの企業は、ソフトウェアコンテナの新しいベンダーとオペレーティングシステムに依存しない標準に取り組んでいると発表しました。
2015年12月:Oracle Cloudは、DockerコンテナのスタートアップであるStackEngineを買収した後、Dockerコンテナのサポートを追加しました。
2016年4月:独立したISVであるWindocksは、Dockerのオープンソースプロジェクトの移植版をWindowsにリリースし、Windows Server 2012R2およびServer2016をサポートし、SQL Server2008のすべてのエディション以降をサポートします。
2016年5月:分析により、Dockerへの主な貢献者として次の組織が示されました:Dockerチーム、Cisco、Google、Huawei、IBM、Microsoft、およびRedHat。
2016年6月8日:Microsoftは、DockerをWindows10でネイティブに使用できるようになったことを発表しました。
2017年1月:LinkedInプロファイルの言及の分析は、Dockerの存在が2016年に160%増加したことを示しました。
2019年5月6日:マイクロソフトは、Windows Subsystem for Linux(WSL)の2番目のバージョンを発表しました。Docker、Inc。は、WSL2で実行されるバージョンのDockerfor Windowsの開発を開始したと発表しました。特に、これはDockerがWindows 10 Homeで実行できることを意味します(以前はWindowsProとEnterpriseに限定されていました) Hyper-Vを使用)。
2020年8月:MicrosoftはWSL2のWindows 10バージョン1903および1909へのバックポートを発表しました(以前はWSL2はバージョン2004でのみ利用可能でした)、Docker開発者はこれらのプラットフォームでのDockerの利用可能性を発表しました。
2021年8月:DockerDesktopはエンタープライズユーザーにとって無料ではなくなりました。Dockerは、大企業のお客様向けの無料のDockerデスクトップの使用を終了し、無料プランを個人プランに置き換えました。

も参照してください

 Linuxポータル
特異性-HPCクラスターのDocker代替
DevOpsツールチェーンDevOps gVisor Kubernetes
Linuxコンテナのリスト
マイクロサービス
OSレベルの仮想化
サービスコンポーネントアーキテクチャ
Dockerlite

参考文献
^ Barbier、Julien(2014年6月9日)。「ここにあります:Docker1.0」。Docker。Docker、Inc 。
^ https://github.com/moby/moby/releases/tag/v20.10.11 ; 発行日:2021年11月18日; 取得:2021年12月27日。
^ https://docs.docker.com/engine/release-notes/#201011 ; 取得:2021年12月27日。
^ 「Dockerソースコード」。Docker / DistributionRepo。Docker、Inc. 2015年10月12日。2015年10月24日取得–GitHub経由。
^ 「DockerFAQ」。
^ O’Gara、モーリーン(2013年7月26日)。「GlusterをRedHatに販売し、現在dotCloudを実行しているBenGolub」。SYS-CONメディア。2019年9月13日にオリジナルからアーカイブされました。
^ 「Dockerのよくある質問(FAQ)」。2019年3月2日。
^ 「コンテナとは」。docker.com。Docker、Inc .
^ Ratan、Vivek(2017年2月8日)。「Docker:DevOpsの世界でお気に入り」。Uのオープンソース。
^ “”Docker 0.9:実行ドライバーとlibcontainerの紹介””。Dockerブログ。Docker、Inc. 2014年3月10日。
^ Noyes、キャサリン(2013年8月1日)。「Docker:Linuxコード用の「輸送コンテナ」」。Linux.com。2013年8月8日にオリジナルからアーカイブされました。
^ 「ストレージドライバのドキュメントを選択してください」。Dockerドキュメント。2016年12月6日にオリジナルからアーカイブされました。
^ 「Dockerドキュメント:カーネル要件」。docker.readthedocs.org。2014年1月4日。2014年8月21日のオリジナルからアーカイブ。
^ 「Mac用Dockerを使い始める」。docker.com。Docker、Inc 。
^ K.、クリス(2019年1月14日)。「軽量Windowsコンテナー:Windows10でのDockerプロセス分離の使用」。パワーユーザー。コンテナ化されたプロセスがホストシステム上で直接実行されている、より「軽量な」実際のコンテナ(いわゆるプロセス分離を介して)—ホストとコンテナ内のすべてのプロセスが同じWindowsカーネルを共有しています。これは、Linux上のコンテナーの動作と似ています。
^ 「実際のDockerの採用に関する8つの驚くべき事実」。Datadog。2018年6月。
^ ウォルシュ、ダン(2014年9月15日)。「コンテナに含まれないもう1つの理由:カーネルキーリング」。projectatomic.io 。
^ 「コンテナのリソースを制限する」。Dockerドキュメント。
^ Vaughan-Nichols、Steven J.(2014年6月11日)。「DockerlibcontainerはLinuxコンテナの能力を統合します」。ZDNet。
^ 「libcontainer–コンテナのリファレンス実装」。docker / libcontainerリポジトリ。Docker、Inc 。2014年7月30日取得–GitHub経由]。
^ Avram、Abel(2013年3月27日)。「Docker:自動化された一貫性のあるソフトウェア展開」。InfoQ 。
^ シモンソン、ジェスパー; 張、ロング; モーリン、ブライス; ボードリー、ブノワ; モンペラス、マーティン(2021年)。「Dockerのコンテナ化されたアプリケーションに対するシステムコールの可観測性とカオスエンジニアリング」。次世代コンピュータシステム。122:117–129。arXiv:1907.13039。土井:10.1016 /j.future.2021.04.001。
^ g 「 Docker の概要」。Dockerドキュメント。Docker、Inc 。
^ 「dockerd」。Dockerドキュメント。Docker、Inc 。
^ 「Dockerコマンドラインを使用する」。Dockerドキュメント。Docker、Inc 。
^ 「Dockerエコシステム:一般的なコンポーネントの概要」。www.digitalocean.com 。
^ 「レジストリについて」。Dockerドキュメント。Docker、Inc 。
^ 「通知の操作」。2019年3月2日。
^ 「DockerComposeの概要」。Dockerドキュメント。Docker、Inc 。
^ 「コマンドラインリファレンスの作成」。Dockerドキュメント。Docker、Inc 。
^ 「DockerComposeを使用した開発用のOrchestrateコンテナ」。@codeship経由。2015年5月27日。
^ 「ファイルバージョン3リファレンスを作成する」。Dockerドキュメント。Docker、Inc 。
^ Firshman、Ben(2013年12月21日)。「リリース0.0.1」。docker / compose。Docker、Inc。 – GitHub経由。
^ Prasad、Aanand(2014年10月16日)。「リリース1.0.0」。docker / compose。Docker、Inc。 – GitHub経由。
^ 「知っておくべき8つのコンテナオーケストレーションツール」。Linux.com。2017年4月12日。
^ 「DockerSwarm」。Dockerドキュメント。Docker、Inc 。
^ 「Dockerの群れ」。2021年6月4日。
^ 「Swarmコマンドラインリファレンス」。Dockerドキュメント。Docker、Inc 。
^ 「dockerノード」。Dockerドキュメント。
^ 「DockerSwarm101」。aquasec.com 。
^ 「いかだコンセンサスアルゴリズム」。raft.github.io 。
^ 「DockerデスクトップとDockerガイド」。Dockerガイド。2021年4月25日。
^ ハイクス、ソロモン(2018年3月28日)。「AuRevoir」。docker.com。2021年1月12日にオリジナルからアーカイブされました。
^ 「dotCloudプラットフォームについて」。dotCloud。2014年7月2日にオリジナルからアーカイブされました。
^ Seigler、MG(2011年1月10日)。「ファウンダーズデン:起業家のためのプライベートクラブハウスがサンフランシスコにオープン」。TechCrunch。2016年3月29日にオリジナルからアーカイブされました。
^ 「すべてのアプリのための1つの家」。dotcloud.com。2014年5月17日にオリジナルからアーカイブされました。
^ 「Linuxコンテナの未来」。DotCloudチャネル。2018年7月13日–YouTube経由で取得。
^ 白鳥、クリス(2014年3月13日)。「DockerはLXCをデフォルトの実行環境として削除します」。InfoQ 。
^ 「MobyとDockerの関係をわかりやすく説明する–Collabnixへようこそ」。2017年5月6日。
^ 「DotCloudはDockerでピボットし、大きな勝利を収めました。クラウドサービスはRed HatOpenShiftの一部になりました」。TechCrunch。2013年9月19日。
^ Foley、Mary Jo(2014年10月15日)。「Microsoftの次のWindowsServerリリースで提供されるDockerコンテナのサポート」。ZDNet。
^ ガスリー、スコット(2014年10月15日)。「DockerとMicrosoft:DockerとWindowsServerおよびMicrosoftAzureの統合」。ScottGuのブログ。Microsoft 。
^ バー、ジェフ(2014年11月13日)。「AmazonEC2Container Service(ECS)–AWSクラウドのコンテナ管理」。アマゾンウェブサービスブログ。
^ ラス、ジョン(2014年11月10日)。「StratoscaleはDockerを構築するために3200万ドルを調達します-コモディティサーバーでOpenStackクラウドをサポートします」。
^ 「IBMとDockerは、クラウドおよびオンプレミスでエンタープライズアプリケーションを提供するための戦略的パートナーシップを発表しました」。IBM。2014年12月4日。
^ Lardinois、Frederic(2015年6月22日)。「Docker、CoreOS、Google、Microsoft、Amazonなどが協力して共通のコンテナ標準を開発します」。TechCrunch。
^ Siluk、Shirley(2015年6月22日)。「Docker、Open ContainerProjectのTechGiantsチーム」。cio-today.com 。
^ McLaughlin、Kevin(2015年12月22日)。「OracleがDockerContainer Startup StackEngineを買収し、オースティンベースのクラウドコンピューティングセンターを計画」。CRN 。
^ Yegulalp、Serdar(2016年4月4日)。「WindocksはDockerとMicrosoftができないことをします」。InfoWorld。
^ 「Docker–更新されたプロジェクト統計」。GitHubの要点。
^ Sarkar、Dona(2016年6月8日)。「Windows10Insider Preview Build14361の発表」。Windowsブログ。Microsoft 。
^ ムラニー、マイケル。「DockerMomentumAnalysis2016」。LinkedInパルス。
^ Vaughan-Nichols、Steven(2019年6月18日)。「DockerはLinux2用のWindowsサブシステムを採用しています」。ZDNet。CBSインタラクティブ。
^ 「WSL2のサポートはWindows10バージョン1903および1909に導入されます」。Windowsコマンドライン。2020年8月20日。
^ 「DockerDesktop&WSL2-バックポートの更新」。Dockerブログ。2020年8月20日。
^ キャリー、スコット(2021年8月31日)。「DockerDesktopはエンタープライズユーザーにとって無料ではなくなりました」。InfoWorld 。

外部リンク
公式ウェブサイト
  コンテナ用語-実用的な用語”

admin

Share
Published by
admin

Recent Posts

ドック・ワトキンス

Doc_Watkins ドック…

2週間 ago

Doc Wallace

Doc_Wallace Fre…

2週間 ago

Doc Walker(アルバム)

Doc_Walker_(alb…

2週間 ago

Doc Walker

Doc_Walker その他の…

2週間 ago

ドク・ワルドバウアー

Doc_Waldbauer ア…

2週間 ago

ドックウェドレイスタジアム

Doc_Wadley_Stad…

2週間 ago