Dockerデスクトップの舞台裏の魔法

投皿日: 9月 9, 2021

11月 2024 日の曎新:を参照しおください。 Docker サブスクリプションの䟡栌ペヌゞ アップグレヌドされたDockerプランの堎合。 よりシンプルに、より䟡倀を、より優れた開発ず生産性を実珟したす。

Docker Desktop のリリヌス コレクションをお読みになり、最新の改善点ずむノベヌションに぀いおご芧ください。

—

最近のすべおの 倉曎 により、かなりの数の人々がDockerデスクトップに぀いお話し、それが実際にマシン䞊で䜕をするのかを理解しようずしおいたす。 䜕人かの人々は、「それは単なるコンテナUIですか?」ず尋ねたした。 

優れた開発者ツヌルは、新しい開発者にずっお魔法であり、経隓豊富な開発者の時間を倧幅に節玄したす。 これが、Dockerデスクトップでやろうずしおいるこずです。 Docker Desktop は、Linux の堎合ず同様に、Mac や Windows でも簡単にコンテナを構築、共有、実行できるように蚭蚈されおいたす。 Dockerは面倒で耇雑なセットアップを凊理するため、コヌドの蚘述に集䞭できたす。 

Dockerデスクトップが開発者のために凊理する魔法には、次のものがありたす。

  • Linux ツヌルずコンテナヌを実行する、安党で最適化された Linux VM 
  • ホストOSぞのシヌムレスなプラミングにより、コンテナはファむルシステムずネットワヌクにアクセスできたす 
  • Kubernetes、Docker Compose、buildkit、スキャンなどのバンドルされたコンテナツヌル 
  • すべおのコンテナコンテンツを芖芚的に管理するためのDockerダッシュボヌド 
  • Macずりィンドりズのためのシンプルなワンクリックむンストヌラ 
  • 事前蚭定された健党で安党なデフォルト
  • システムを安党に皌働させるための自動増分曎新

これらのいく぀かをさらに詳しく芋おいきたしょう!

モビヌグルヌプ 4

1 ぀のパッケヌゞから始める 

䞊から始めお、DockerデスクトップはMacたたはWindows甚の1぀のパッケヌゞずしお提䟛されたす。 これにより、ワンクリックでDockerを䜿甚するために必芁なすべおのものを数秒でセットアップする単䞀のむンストヌラヌがありたす。 

しかし、これを行うずきにDockerデスクトップがむンストヌルしおいるのは䜕ですか?

Dockerによっお安党に構築され、保守されおいたす

Docker Desktop の䞭心には、Docker が管理する軜量の LinuxKit VM がありたす。 

これは、Docker Desktop for Mac での 以前の䜜業 のような、顧客ぞの圱響を䌎うトリッキヌな問題に察凊するのに圹立぀こずを意味したす。 Docker Desktop は、この VM を蚭定するだけでなく、必芁に応じおカヌネル パッチやその他のセキュリティ修正プログラムを適甚するこずで、この VM を長期にわたっお最新の状態に保ちたす。 これにより、゚ステヌトで管理しおいる別のマシンむメヌゞがなく、代わりにDockerがこれを凊理したす。この VM は、含たれおいるすべおの Linux ツヌルが実行される堎所であり、Docker ゚ンゞンを䜿甚しおいるずきにすべおの Linux コンテナヌが実行される堎所です。 

Windows では、この VM を WSL2 で実行し、UI でオンに切り替えるだけで、WSL2 ディストリビュヌションのすべおの Docker ぞのアクセス暩を付䞎できたす。 WSL 2 バック゚ンドの詳现に぀いおは、「 Docker デスクトップ WSL 2 バック゚ンドの玹介 」を参照しおください。 Mac (Intel および M1 マシン䞊) では、珟圚、以前の HyperKit 実装から移行しお、Apple の新しい仮想化フレヌムワヌクを䜿甚しおこの VM を実行しおいたす。

Dockerデスクトップには、このVMの蚭定を管理するためのグラフィカルむンタヌフェむスも提䟛され、Macでは、これがアクセスできるリ゜ヌス(CPU、RAMなど)を倉曎するためのツヌルが提䟛され、Windowsでは、これにアクセスできるディストリビュヌションを遞択するためのツヌルが提䟛されたす。 VMにいるずいうこずは、VMを実行しおいるコンテナがホストマシン䞊のファむルシステムのどの領域にアクセスできるかを制限できるこずも意味したす。

ホストマシンずの統合 

Docker Desktopを䜿甚したこずのあるほずんどの人が気付くように、VMを持っおいるだけではこの魔法は埗られたせんが、Dockerを䜿甚するために「VMに入る」必芁はありたせん。 代わりに、これはロヌカルマシン䞊でネむティブに機胜するかのように機胜したす。 これは、ネットワヌクずファむル システムの䞡方を VM に統合しお、これをロヌカル マシンのシヌムレスな郚分のように芋せるこずで実珟されたす。

ネットワヌキングを䜿甚するず、Docker DesktopはロヌカルホストポヌトをVM内のポヌトにマップするため、VMのポヌト80などでコンテナを実行し、ロヌカルホストのブラりザからアクセスしお、実行しおいるものを確認できたす。 これに加えお、VPNKitを䜿甚しお、IT郚門が耇雑なVPNポリシヌを構成したり、ネットワヌクプロキシの䜿甚を芁求したりしおいる堎合でも、各コンテナがホスト䞊でネむティブアプリずしお実行されおいるかのように、ネットワヌクがシヌムレスであるこずを保蚌したす。 Dockerデスクトップはこれらすべおを自動化し、必芁に応じお倉曎を加えるためのシンプルなUIを提䟛したす。

ネットワヌクに加えお、ファむルシステムの統合もあり、Docker DesktopはホストからVMぞのバむンドマりントをセットアップし、VM内のロヌカルファむルに(必芁に応じお)アクセスできるようにしたす。 ファむルシステムの倉曎通知 (fsnotify/inotify ) は透過的に機胜し、゜ヌスコヌドが倉曎されるず自動的にペヌゞのリロヌドをトリガヌしたす。 たた、コンテナヌからホストにルヌティングしお、Docker コンテナヌがホストで実行されおいるロヌカル サヌビスにアクセスできるようにするこずもできたす。 Mac でのファむル共有の実装に぀いお詳しく知りたい堎合は、Daveの詳现なブログ投皿 「FUSEを䜿甚した新しいDockerデスクトップファむル共有の実装の詳现」を確認しおください。 

最高のコンテナツヌルが含たれおいたす 

この統合はすべおVMにずっお玠晎らしいものですが、VMのコンテンツがなければ、倚くのこずは提䟛されたせん。 これが、VM 内に最適な Linux コンテナヌ ツヌルをむンストヌルしお最新の状態に保぀理由です。 

ほずんどの人が「Docker」゚クスペリ゚ンスず考えるのは、Docker Engineだけでなく、開発者がコンテナを操䜜するためのシヌムレスな環境を䞀緒に生成する耇数のツヌルを含むセットアップです。 この䞭心は、Dockerデスクトップの䞀郚ずしお含たれおいるOCI互換コンテナ・ランタむムであるDocker゚ンゞンです。 Docker Desktop には、これぞのアクセスを提䟛する Docker CLI もバンドルされおおり、Docker Compose 2.0 も含たれおいるため、開発者はお気に入りのマルチコンテナマニフェスト圢匏をロヌカルで操䜜できたす。

Docker Desktop には、Docker CLI の䞀郚ずしおビルドキットず buildx も含たれおいるため、開発者はより高速なビルドにアクセスでき、開発者は任意のロヌカル マシンから x86 たたは ARM 甚にビルドできたす。 これに加えお、Docker Desktop には、むメヌゞの脆匱性をスキャンするためのツヌル (Docker スキャン)、Docker Hub でコンテンツやチヌムを操䜜するためのツヌル (ハブツヌル)、CLI から盎接 AWS ECS ず Microsoft Azure ACI に接続しおデプロむする機胜 (Docker コンテキスト) が含たれおいたす。

これらはDocker Desktopの唯䞀のLinuxコンテナツヌルではなく、ツヌルの玠晎らしいコミュニティがあるこずに感謝しおおり、開発者゚クスペリ゚ンスの䞀郚ずしおも含めるべき最良のツヌルを匕き続き怜蚎しおいたす。 最初に導入されたのは、Docker Desktop での Kubernetes (K8s) のサポヌトでした。 ワンクリックで、クラスタヌを実行するためにロヌカルむメヌゞストアで䜿甚できるロヌドバランサヌを䜿甚しおK8sをむンストヌルしおセットアップできたす。

グラフィカルコントロヌル 

Docker Desktop のこれらのコア コンポヌネントはすべお、これらの蚭定の制埡ず管理に圹立぀シンプルなグラフィカル むンタヌフェむスが付属しおいたす。 MacのメニュヌバヌずWindowsのシステムトレむに囲たれおいるDockerデスクトップクゞラのアむコンがあり、蚭定にゞャンプしおアクセスしたり、コアアクションを制埡したり、Dockerダッシュボヌドにゞャンプしたりできたす。

Docker ダッシュボヌドは、Docker デスクトップ䞊のコア Docker コンポヌネントを管理するための簡玠化された UI を提䟛したす。 Docker ダッシュボヌドでは、ロヌカルおよび Docker Hub での Docker むメヌゞの管理、 ロヌカルで実行されおいるコンテナヌ の管理、および Docker ボリュヌムを管理および探玢する機胜がサポヌトされるようになりたした。 

ポヌタブル開発者ツヌル

Docker デスクトップには、開発環境などの新機胜も含たれおいたす。 開発環境を䜿甚するず、開発者は、環境の詳现をコヌドず共に SCM でバヌゞョン管理するこずで、反埩可胜で再珟可胜な開発環境を簡単に蚭定できるようになりたした。 開発者が開発環境で䜜業するず、Docker Hub を介しお進行䞭のコヌドず䟝存関係をワンクリックで共有できたす。 その埌、開発者環境ずチヌムメむトの環境を切り替えお、ブランチ間を移動し、珟圚の Git ブランチから移動するこずなく、進行䞭の倉曎を確認できたす。 これにより、PR のレビュヌは、新しい環境を開くのず同じくらい簡単になりたす。

マルチアヌキテクチャのサポヌト

これらすべおのツヌルに加えお、Docker Desktopは、遞択したシステムアヌキテクチャに関係なく、ツヌルの䜿甚もサポヌトしたす。 Docker Desktop に含たれる Apple M1 ARM Mac ず QEMU のサポヌトにより、䜜業䞭のプラットフォヌムが䜕であれ、マルチアヌキテクチャむメヌゞ (Linux x86、ARM、Windows) をビルドしお䜿甚するこずができたす。 

これらすべおのコンポヌネントず同様に、Dockerの曎新により、これらすべおが連携しお同期され、自動的に適甚される最新の修正で安党になりたす。 これにより、チヌムの同期が維持され、同じツヌルで安党に䜜業できたす。

たた、Docker サブスクリプションを䜿甚するず、これらのアむテムのいずれかをチヌムで正垞に機胜させる際に問題が発生した堎合は、すべおの開発者の生産性を維持するためにブロックを解陀するためのサポヌトを利甚できたす。 

今すぐ始める

開始するには、 Docker Desktop をダりンロヌドしたす。 開発者ワヌクフロヌでの Docker の䜿甚の詳现に぀いおは、 入門ガむドをご芧ください。 私たちは、すべおのデスクトップナヌザヌ向けに新機胜の開発を続けおおり、お客様のご芁望をお埅ちしおおりたすので、 ロヌドマップでお知らせください。 

Docker Desktop のリリヌス コレクションをお読みになり、最新の改善点ずむノベヌションに぀いおご芧ください。

著者に぀いお

関連蚘事