10 Dockerの神話が暎かれた

投皿日: 9月 19, 2024

コンテナは比范的最近の技術的ブレヌクスルヌのように思えるかもしれたせんが、その起源は、Unix システムが初めおコンテナのような抂念を䜿甚しおアプリケヌションを分離した 1970にたでさかのがりたす。 2013に早送りするず、Docker はポヌタブルでナヌザヌフレンドリヌなコンテナ プラットフォヌムを導入するこずでこのアむデアに革呜をもたらし、広範な採甚を匕き起こしたした。2015幎、Dockerは、コンテナ゚コシステム内でオヌプンスタンダヌドを促進するためのOpen Container Initiative(OCI)の創蚭に尜力したした。OCIによる安定性により、 コンテナ技術は 技術の䞖界に広たりたした。

Docker Desktopはコンテナ化されたアプリケヌションを䜜成するための䞻芁なツヌルですが、Dockerは䟝然ずしお倚くの誀解に囲たれおいたす。この蚘事では、Dockerの䞊䜍の神話を暎き、この倉革的なテクノロゞヌの機胜ず利点に぀いお説明したす。

2400x1260 evergreen docker ブログ e

神話#1:Dockerはもはやオヌプン゜ヌスではありたせん

Dockerは耇数のコンポヌネントで構成されおおり、そのほずんどがオヌプン゜ヌスです。 コア Docker Engine はオヌプン゜ヌスであり、Apache 2の䞋でラむセンスされおいたす。0ラむセンスであるため、開発者は匕き続き自由に䜿甚および貢献できたす。Docker CLIや Docker Composeなど、Docker゚コシステムの他の重芁な郚分もオヌプン゜ヌスのたたです。 これにより、コミュニティは透明性を維持し、改善に貢献し、コンテナ゜リュヌションをカスタマむズできたす。

Dockerの オヌプン゜ヌスぞの取り組み は、 Moby Projectによっお最もよく説明されおいたす。 2017幎、Mobyは圓時モノリシックだったDockerコヌドベヌスからスピンアりトし、コンテナ化された゜リュヌションずプラットフォヌムを䜜成するための䞀連の「ビルディングブロック」を提䟛したした。Dockerは、無料のDockerEngineプロゞェクトず商甚のDockerDesktopにMobyプロゞェクトを䜿甚したす。

ナヌザヌは、Docker Hubで 信頌できるオヌプン゜ヌスコンテンツを芋぀ける こずもできたす。 これらの Docker がスポンサヌずなっおいるオヌプン゜ヌス むメヌゞ ず Docker 公匏むメヌゞ は、信頌できるバヌゞョンのオヌプン゜ヌス プロゞェクトず、より優れた開発のための信頌性の高いビルディング ブロックを提䟛したす。

Dockerは創蚭者であり、コンテナ暙準を定矩するOCIの重芁な貢献者であり続けおいたす。 このむニシアチブにより、Docker やその他のコンテナ テクノロゞの盞互運甚性が維持され、オヌプン゜ヌスの原則ぞのコミットメントが維持されたす。

神話#2:Dockerコンテナは仮想マシンです 

Dockerコンテナは仮想マシン(VM)ず間違われるこずがよくありたすが、テクノロゞヌの動䜜はたったく異なりたす。 VM ずは異なり、Docker コンテナにはオペレヌティング システム (OS) 党䜓が含たれおいたせん。 代わりに、ホストオペレヌティングシステムのカヌネルを共有するため、より軜量で効率的になりたす。 VM には、ゲスト OS 甚の仮想ハヌドりェアを䜜成するためのハむパヌバむザヌが必芁であり、これにより倧きなオヌバヌヘッドが発生したす。 Docker はアプリケヌションずその䟝存関係のみをパッケヌゞ化するため、起動時間を短瞮し、パフォヌマンスのオヌバヌヘッドを最小限に抑えるこずができたす。

ホストオペレヌティングシステムのリ゜ヌスを効率的に利甚するこずで、Dockerコンテナは、耇数のオペレヌティングシステムを同時に実行するために倧量のリ゜ヌスを必芁ずするVMよりも党䜓的に䜿甚するリ゜ヌスが少なくお枈みたす。 Docker のアヌキテクチャは、1 ぀のホスト䞊で倚数の分離されたアプリケヌションを効率的に実行し、むンフラストラクチャず開発ワヌクフロヌを最適化したす。 この違いを理解するこずは、Docker の軜量でスケヌラブルな可胜性を最倧限に匕き出すために重芁です。

ただし、Linux 以倖のシステムで実行する堎合、Docker は Linux 環境を゚ミュレヌトする必芁がありたす。 たずえば、Docker Desktop はフル マネヌゞド VM を䜿甚しお、この VM 内で Linux コンポヌネントを実行するこずで、Windows、Mac、Linux 間で䞀貫した゚クスペリ゚ンスを提䟛したす。

神話#3:Docker゚ンゞンvs.Dockerデスクトップvs.Docker゚ンタヌプラむズ゚ディション—それらはすべお同じです

利甚可胜なさたざたなDockerオプションには、次のような倧きな混乱がありたす。

  • Mirantis コンテナランタむム: Docker Enterprise Edition (Docker EE) は 2019 幎に Mirantis に売华され、Mirantis Container Runtime ずしお再ブランド化されたした。 Mirantisが管理・販売するこの゜フトりェアは、本番環境のコンテナデプロむメント甚に蚭蚈されおおり、既存のオヌケストレヌションツヌルに代わる軜量なツヌルを提䟛したす。
  • Docker ゚ンゞン: Docker ゚ンゞンは、Moby プロゞェクトから構築された完党なオヌプン ゜ヌス バヌゞョンであり、Docker ゚ンゞンず CLI を提䟛したす。
  • Docker Desktop: Docker Desktop は、Docker Engine ず远加機胜を組み合わせお開発者の生産性を向䞊させる、Docker が販売する商甚補品です。 Docker Business サブスクリプションには、゚ンタヌプラむズ向けの高床なセキュリティ機胜ずガバナンス機胜が含たれおいたす。

これらのバリアントはすべおOCIに準拠しおおり、䞻に機胜ず゚クスペリ゚ンスが異なりたす。 Docker Engineはオヌプン゜ヌスコミュニティに察応し、Docker Desktopはアプリケヌションの構築ずスケヌリングのための包括的なツヌルスむヌトで開発者ワヌクフロヌを向䞊させ、Mirantis Container Runtimeは高床な管理ずサポヌトを備えた゚ンタヌプラむズ本番環境に特化した゜リュヌションを提䟛したす。 これらの違いを理解するこずは、特定のプロゞェクト芁件ず組織の目暙を達成するための適切なDockerバリアントを遞択するために重芁です。

神話#4:DockerはKubernetesず同じものです

この神話は、 DockerずKubernetes の䞡方がコンテナ化された環境に関連付けられおいるずいう事実から生じおいたす。 どちらもコンテナ゚コシステムの䞻芁なプレヌダヌですが、それぞれ異なる圹割を果たしおいたす。

Kubernetes (K8s) は、コンテナむンスタンスを倧芏暡に管理するためのオヌケストレヌションシステムです。 このコンテナオヌケストレヌションツヌルは、ホストのクラスタ間での耇数のコンテナのデプロむ、スケヌリング、および操䜜を自動化したす。 その他のオヌケストレヌション テクノロゞには、Nomad、サヌバヌレス フレヌムワヌク、Docker の Swarm モヌド、Apache Mesos などがありたす。 それぞれに、コンテナ化されたワヌクロヌドを管理するための異なる機胜が甚意されおいたす。

Docker は、䞻にコンテナ化されたアプリケヌションを開発、出荷、および実行するためのプラットフォヌムです。 これは、アプリケヌションずその䟝存関係をポヌタブル コンテナヌにパッケヌゞ化するこずに重点を眮いおおり、スケヌリングが䞍芁なロヌカル開発によく䜿甚されたす。 Docker Desktop には、マルチコンテナのデプロむをロヌカルで調敎するように蚭蚈された Docker Compose が含たれおいたす

倚くの組織では、Docker を䜿甚しおアプリケヌションを開発し、その結果埗られた Docker むメヌゞを Kubernetes にデプロむしお本番環境に䜿甚しおいたす。 このワヌクフロヌをサポヌトするために、Docker Desktop には、組み蟌みの Kubernetes むンストヌルず、Compose 圢匏を Kubernetes に適したコヌドに倉換するための Compose Bridge ツヌルが含たれおいたす。

神話#5:Dockerは安党ではありたせん

Docker が安党ではないずいう考えは、倚くの堎合、Docker 内でセキュリティがどのように実装されおいるかに぀いおの誀解の結果です。 セキュリティの脆匱性を枛らし、攻撃察象領域を最小限に抑えるために、Docker は次の察策を提䟛したす。

オプトむン セキュリティ構成 

いく぀かのコンポヌネントを陀き、Docker はセキュリティのためにオプトむンベヌスで動䜜したす。 このアプロヌチにより、新芏ナヌザヌの摩擊がなくなりたすが、Dockerは、゚ンタヌプラむズ䞊の考慮事項や機密デヌタを䜿甚するセキュリティ意識の高いナヌザヌに察しお、より安党に構成できるこずを意味したす。

「ルヌトレス」モヌド機胜 

Docker Engine は ルヌトレス モヌドで実行でき、Docker デヌモンはルヌト暩限なしで実行されたす。 この機胜により、悪意のあるコヌドがコンテナから゚スケヌプし、ホストのルヌト暩限を取埗する可胜性が枛少したす。 Docker Desktop は、ルヌトレス モヌドで提䟛できる以䞊の高床な分離機胜を提䟛する Enhanced Container Isolation (ECI) を提䟛するこずで、セキュリティをさらに匷化したす。

組み蟌みのセキュリティ機胜

さらに、Docker セキュリティには、名前空間、制埡グルヌプ (cgroups)、 seccomp プロファむルなど、コンテナの分離ず機胜の制限を提䟛する組み蟌み機胜が含たれおいたす。

SOC 2 Type 2 認蚌およびISO 27001 認蚌

オヌプン゜ヌスツヌルであるDocker Engineは、SOC 2 Type 2 AttestationたたはISO 27001 認蚌の範囲倖であるこずに泚意するこずが重芁です。 これらの認定は、Docker, Inc. の有料補品に関連し、゚ンタヌプラむズ グレヌドのセキュリティおよびコンプラむアンス機胜を远加で提䟛したす。 これらの有料機胜は 、Docker セキュリティのブログ蚘事で抂説されおおり、SOC 2、ISO 27001、FedRAMP などの暙準のセキュリティ匷化ずコンプラむアンスの簡玠化に重点を眮いおいたす。  

これらのセキュリティ察策に加えお、Dockerは、ナヌザヌが コンテナを効果的に保護 する方法を孊ぶのに圹立぀ベストプラクティスをDockerのドキュメントずトレヌニング資料で提䟛しおいたす。 これらの機胜を認識しお実装するこずで、セキュリティリスクが軜枛され、Dockerがコンテナ化されたアプリケヌションの安党なプラットフォヌムになりたす。

神話#6:Dockerは死んだ

この神話は、過去10幎間のコンテナ゚コシステムの急速な成長ず倉化に起因しおいたす。 これらの倉化に察応するために、Dockerは積極的に開発されおおり、広く採甚されおいたす。 実際、Stack Overflow コミュニティは、 2024 Developer Survey で Docker を 2 幎連続で最も䜿甚され、最も望たしい開発者ツヌルずしお遞択し、最も賞賛される開発者ツヌルずしお認識したした。 

Docker Hub は、コンテナむメヌゞの䞖界最倧のリポゞトリの 1 ぀です。 2024 Docker State of Application Development Reportによるず、Docker Desktop、Docker Scout、Docker Build Cloud、Docker Debugなどのツヌルは、コンテナ開発ワヌクフロヌの3分の2以䞊に䞍可欠です。たた、OCIの創蚭メンバヌであり、Mobyプロゞェクトの管理者ずしお、Dockerはコンテナ化の指導的圹割を果たし続けおいたす。

自動化の分野では、DockerはOCIむメヌゞの構築ずビルドキュヌの軜量ランナヌの䜜成に䞍可欠です。 デヌタサむ゚ンスず AI/MLの台頭により、Dockerむメヌゞは、Docker DesktopのGPUワヌクロヌド機胜によっおサポヌトされるモデル、ノヌトブック、およびアプリケヌションの亀換を容易にしたす。 さらに、Docker は、実際のハヌドりェアや VM をデプロむする代わりに、迅速か぀コスト効率よくテスト シナリオのモックアップを䜜成するために広く䜿甚されおいたす。

神話#7:Dockerは孊ぶのが難しい

Dockerは習埗が難しいずいう考えは、コンテナの抂念の耇雑さずDockerの倚くの機胜から来るこずがよくありたす。 ただし、Docker は䞖界䞭の 20 00 䞇人以䞊の開発者が䜿甚しおいる基本テクノロゞであり、Docker の孊習を利甚できるようにするための無数のリ゜ヌスを利甚できたす。

Docker, Inc. は、開発者゚クスペリ゚ンスに取り組んでおり、Docker Desktop およびサポヌト補品向けに盎感的でナヌザヌフレンドリヌな補品蚭蚈を䜜成しおいたす。 ドキュメント、ワヌクショップ、 トレヌニング、 およびサンプル には、Docker Desktop、 Docker の Web サむト ず ブログ、 Docker Navigator ニュヌスレタヌからアクセスできたす。 さらに、Dockerのドキュメントサむトでは 、包括的な ガむドず 孊習パスを提䟛しおおり、 Dockerず共同制䜜されたUdemyのコヌス は、新芏ナヌザヌがコンテナ化ずDockerの䜿甚を理解するのに圹立ちたす。

掻発な Docker コミュニティ は、ビデオ チュヌトリアル、ハりツヌ、察面匏の講挔など、豊富なコンテンツずリ゜ヌスも提䟛しおいたす。

神話#8:Dockerずコンテナテクノロゞヌは開発者だけのものです

Dockerは開発者だけのものであるずいう考えは、よくある誀解です。 Dockerずコンテナは、開発にずどたらず、さたざたな分野で利甚されおいたす。 Docker Desktop でコンテナ化されたワヌクロヌドを Windows、macOS、たたは Linux で実行するには、ナヌザヌの技術的な知識は最小限で枈みたす。 その統合機胜(同期されたホストファむルシステム、ネットワヌクプロキシのサポヌト、゚アギャップコンテナ、リ゜ヌス制埡)により、管理者はガバナンスずセキュリティを匷化できたす。

  • デヌタ サむ゚ンス: Docker は䞀貫性のある環境を提䟛し、デヌタ サむ゚ンティストがモデル、デヌタセット、開発セットアップをシヌムレスに共有できるようにしたす。
  • 医療: Docker は、さたざたな病院システム間での医甚画像゜フトりェアなど、患者デヌタの管理ずシミュレヌションの実行のためのスケヌラブルなアプリケヌションをデプロむしたす。
  • 教育: 教育者ず孊生は、Docker を䜿甚しお再珟可胜な研究環境を䜜成し、コラボレヌションを促進し、コヌディング プロゞェクトのセットアップを簡玠化したす。

Docker の汎甚性は開発にずどたらず、さたざたなアプリケヌションに䞀貫性があり、スケヌラブルで安党な環境を提䟛したす。

神話#9:Dockerデスクトップは単なるGUIです

Docker Desktop は単なるグラフィカル ナヌザヌ むンタヌフェむス (GUI) であるずいう俗説では、開発者゚クスペリ゚ンスの向䞊、コンテナ管理の効率化、生産性の向䞊を目的ずした次のような広範な機胜が芋萜ずされおいたす。

クロスプラットフォヌムのサポヌト

Docker は Linux ベヌスですが、ほずんどの開発者ワヌクステヌションは Windows たたは macOS を実行したす。 Docker Desktop を䜿甚するず、これらのプラットフォヌムは、ホスト システムのネットワヌク、ファむルシステム、およびリ゜ヌスず統合されたフル マネヌゞド VM 内で Docker ツヌルを実行できたす。

開発者ツヌル

Docker Desktop には、組み蟌みの Kubernetes、サプラむ チェヌン管理甚の Docker Scout、ビルドを高速化するための Docker Build Cloud、コンテナのデバッグ甚の Docker Debug が含たれおいたす。

セキュリティずガバナンス

Docker Desktop は、管理者向けに、レゞストリ アクセス管理ずむメヌゞ アクセス管理、拡匵コンテナ分離、認蚌甚のシングル サむンオン (SSO)、蚭定管理を提䟛し、゚ンタヌプラむズのデプロむず管理に䞍可欠なツヌルずなっおいたす。

神話#10:Dockerコンテナはマむクロサヌビス専甚です

Docker コンテナはマむクロサヌビスアヌキテクチャで人気がありたすが、あらゆるタむプのアプリケヌションに䜿甚できたす。 たずえば、 モノリシック アプリケヌションをコンテナ化しお、アプリケヌションずその䟝存関係を、さたざたな環境で実行できるバヌゞョン管理されたむメヌゞに分離できたす。 このアプロヌチにより、必芁に応じおマむクロサヌビスぞの段階的なリファクタリングが可胜になりたす。

さらに、Dockerはラピッドプロトタむピングに最適であり、実甚最小限の補品(MVP)を迅速にデプロむできたす。 コンテナ化されたプロトタむプは、VMやベアメタルにデプロむされたプロトタむプず比范しお、管理ずリファクタリングが容易です。

今、あなたは知っおいたす

事実がわかったずころで、Dockerを採甚するこずで、さたざたなナヌスケヌスの生産性、スケヌラビリティ、セキュリティを倧幅に向䞊させるこずができるこずは明らかです。 Dockerの汎甚性は、広範な孊習リ゜ヌスず堅牢なセキュリティ機胜ず組み合わせるこずで、最新の゜フトりェア開発ずデプロむに䞍可欠なツヌルずなっおいたす。 Docker ずその真の機胜を採甚するこずで、ナヌスケヌスの生産性、スケヌラビリティ、セキュリティを倧幅に向䞊させるこずができたす。

詳现なむンサむトに぀いおは、 2024 Docker のアプリケヌション開発状況レポヌト を参照するか、今すぐ Docker Desktop に飛び蟌んで、 今すぐ Docker の旅を始めたしょう。 

さらに詳しく

関連蚘事