Docker Desktop 4.27: 同期ファイル共有、Docker Init GA、Private Extensions Marketplace、Moby 25、ECI を使用したテストコンテナーのサポート、Docker Build Cloud、Docker Debug Beta

Docker Desktop 427には、エキサイティングな新機能とアップデートが満載です。新しいリリースには、 同期されたファイル共有、Docker Build Cloudでのコラボレーションの強化、 拡張機能のプライベートマーケットプレイス の導入( Docker Business のお客様が利用可能)、待望の Moby 25のリリースなどの重要な進歩が含まれています。 

さらに、強化されたコンテナー分離を備えた テストコンテナー のサポート、拡張 された言語サポートの docker init 一般提供、 Docker Debug のベータ リリースについても説明します。 これらのアップデートは、開発ワークフローの改善、セキュリティの強化、Dockerユーザー向けの高度なカスタマイズの提供において、大きな進歩を遂げています。

Docker 4. 27

Docker Desktop 同期ファイル共有の一般提供

Docker Desktop の素晴らしいアップデートをいくつかご紹介しますが、特に最新バージョンの同期 ファイル共有は、バージョン 4で利用可能になりました。27 (図 1)。 2023年 6 月の買収発表に続き、Mutagen の背後にあるテクノロジを Docker Desktop のコアに統合しました。

これで、仮想ファイルシステムを持つコンテナで大規模なコードベースを使用するという課題に別れを告げることができます。 同期されたファイル共有は、バインドマウントのネイティブファイルシステムパフォーマンスを解き放ち、ファイル操作速度を10倍に向上させるという驚くべき2を提供します。広範なコードベースを管理する開発者にとって、これはゲームチェンジャーです。

ファイル共有リソースを示す Docker デスクトップのスクリーンショット。
図 1: 共有が作成され、コンテナーで使用できます。

開始するには、 サブスクリプション アカウント (Pro、Teams、または Business) で Docker Desktop にログインし、Docker Desktop の同期ファイル共有の機能を利用します。 この機能の詳細については、 Docker のドキュメントを参照してください。

Docker Desktop で共有された Docker Build Cloud ビルドで共同作業を行う

先日の Docker Build Cloud の GA により、チームは Docker Desktop を活用して強力なクラウドベースのビルドマシンと共有キャッシュを使用し、不要なリビルドを減らし、ローカルの物理ハードウェアに関係なく、わずかな時間でビルドを完了できるようになりました。

新しいビルドでは、共有キャッシュをすぐに使用できます。 プロジェクトを初めてビルドする場合でも、共有キャッシュを使用すると、ビルド時間をすぐに短縮できます。

チームメンバーは、さまざまなレベルのDockerの専門知識を持っていることを私たちは知っています。 新しい開発者がビルドの失敗で問題を抱えている場合、 ビルド ビュー を使用すると、チームの誰もが検索とフィルター処理を使用して問題のあるビルドを簡単に見つけることができます。 その後、共同で修正を行い、すぐにブロックを解除できます。

チーム全員が同じ クラウド ビルダーでビルドしている場合、ノイズが発生する可能性があるため、特定のビルドの種類によるフィルター処理を追加して、重要なビルドに集中できるようにしました。

ビルドのビルダー設定へのリンク

以前は、ビルダー設定にアクセスするには、ビルドリストまたは設定ページに戻る必要がありましたが、ビルドから直接アクセスできるようになりました(図 2)。

ビルダー設定にアクセスするためのDockerデスクトップアクションを示すアニメーションgif。
図 2: ビルドからビルダー設定に直接アクセスします。

ビルダーのビルド履歴を削除する

また、これまではビルドを一括でしか削除できなかったため、ビルド履歴を消去するには何度もクリックする必要がありました。 この更新により、すべてのビルドを簡単にクリアできます(図 3)。

ビルド履歴をクリアするための Docker デスクトップ アクションを示すアニメーション gif。
図 3: 個々のビルダーのビルド履歴を簡単にクリアできます。

ビルダーのストレージデータをいつでも更新

ストレージ データの更新は集中的な操作であるため、定期的にのみ行われます。 以前は、データを消去しているときに、更新が表示されるまでしばらく待つ必要がありました。 今では、ワンクリックで作業できます(図 4)。

選択したビルダーのストレージデータを示すDockerデスクトップのスクリーンショット
図 4: ビルダーのストレージデータをすばやく更新して、使用状況の最新のビューを取得します。

新機能:Docker Businessサブスクライバーが利用できる拡張機能のプライベートマーケットプレイス

Docker Business のお客様は、拡張機能 のプライベートマーケットプレイスという新機能に独占的にアクセスできるようになりました。 この機能強化は、セキュリティ、コンプライアンス、カスタマイズに重点を置き、開発者に権限を与え、以下を提供します。

  • アクセス制御: 開発者が使用できる拡張機能を許可リストに登録して管理します。
  • プライベートディストリビューション: プライベートレジストリから会社固有の拡張機能を簡単に配布できます。
  • カスタマイズされた開発: カスタマイズされたチームプロセスとツールを、特定の組織に合わせて調整された未公開/プライベートのDocker拡張機能としてデプロイします。

拡張機能のプライベート マーケットプレースにより、企業固有のニーズに合わせて、安全で効率的、かつカスタマイズされた開発環境が可能になります。 拡張機能のプライベート マーケットプレースを構成する方法を学び、今すぐ始めましょう。

Moby 25 リリース — コンテナー イメージ ストア 

Moby 25のリリースを発表できることをうれしく思います。Docker Desktop 4で0します。27.ご存じない方のために説明すると、Moby は Docker Desktop に付属している Docker Engine のオープンソース プロジェクトです。 私たちは、 オープンソースのMobyプロジェクトの主要なリリースマイルストーンとなるこのリリースに多大な努力を捧げてきました。 機能強化の包括的なリストについては、 v25.00 リリースノートを参照してください。

Docker Desktop 4.27、 containerd イメージ ストアのサポート がベータ版から一般提供に段階的に終了しました。 この作業は、Docker Engine と containerd の統合の拡張を開始した 2022 年 9 月に開始されたため、この機能が一般公開されることを嬉しく思います。

このサポートは、マルチプラットフォームイメージをネイティブに保存および構築し、スナップショットを使用してイメージの遅延プル( stargzなど)とピアツーピアイメージの配布( dragonflynydusなど)を行うことで、より堅牢なユーザーエクスペリエンスを提供します。 また、Wasm コンテナ (現在ベータ版) を実行するための基盤も提供します。 

containerd イメージ ストアの使用は、現在、すべてのユーザーに対して既定で有効になっているわけではありませんが、Docker Desktop の [ イメージのプルと保存にコンテナーを使用する ] の [全般設定] で有効にできます (図 5)。

containerd イメージ ストアを有効にするオプションを示す Docker デスクトップのスクリーンショット。
図 5: Docker Desktop の一般設定で containerd イメージ ストアの使用を有効にします。

今後は、containerd イメージ ストアを使用してイメージをプッシュ、プル、保存するユーザー エクスペリエンスを引き続き改善し、containerd を使用するためのユーザー イメージの移行を支援し、すべてのユーザーに対して既定で有効にするよう取り組んでいきます。 

いつものように、Docker Desktop の Moby 25 に搭載されている機能を試すことができます。

強化されたコンテナ分離によるテストコンテナのサポート

Docker Desktop 4.27 では、一般的な TestcontainerフレームワークEnhanced Container Isolation (ECI)とともに使用する機能が導入されています。 

Docker Businessのお客様が利用できるECIは、コンテナ内の機密性の高いシステムコールを吟味し、その他の高度な手法により、Docker Desktop VMへのルートアクセスなしでコンテナを実行することで、コンテナで実行されている悪意のあるワークロードがDocker Desktopまたはホストを危険にさらすのを防ぐための追加のセキュリティレイヤーを提供します。 これは、ローカル開発環境のセキュリティを強化することを目的としています。 

Docker Desktop 4より前 .27、 ECIは、セキュリティを強化し、悪意のあるコンテナがDocker Engineにアクセスするのを防ぐために、Docker Engineソケットのコンテナへのマウントをブロックしました。 ただし、これにより、正当なシナリオ (Testcontainers など) が ECI で機能することも妨げられました。   

Docker Desktop 4.27、管理者は、制御された方法(選択した信頼できるイメージなど)でDockerソケットのマウントを許可し、そのソケットで送信できるコマンドを制限するようにECIを構成できるようになりました。 この機能により、ユーザーはTestcontainers(またはDockerエンジンソケットにアクセスするためにコンテナを必要とするその他のフレームワーク)などのフレームワークの利点と、ECIが提供する追加のセキュリティと安心感を組み合わせて享受できます。

Docker init GA と Java のサポート 

当初は Docker 4のベータ版でリリースされました。18では、 docker init いくつかの機能強化が行われています。 コマンドラインユーティリティは docker init 、プロジェクト内のDockerリソースの初期化に役立ちます。 Dockerfile、 Compose ファイル、および .dockerignore プロジェクトの性質に基づいてファイルを作成し、Docker構成に関連するセットアップ時間と複雑さを大幅に削減します。 

サポートされている Go プロジェクトと汎用プロジェクトのみの最初の docker init ベータ リリース。 最新バージョンは、Docker 4で入手できます。27、Go、Python、Node.js、Rust、ASP.NET、PHP、およびJava(図 6)。

docker init cli のウェルカム ページのスクリーンショット。
図 6. Docker init は、アプリケーションに最適なテンプレートを提案します。

docker init 一般提供は、Dockerをプロジェクトに統合するための効率的でユーザーフレンドリーな方法を提供します。 経験豊富なDockerユーザーでも、コンテナ化の初心者でも、 docker init 開発ワークフローを強化する準備ができています。 

Docker Debugのベータ版 

DockerCon 2023で以前に発表されたように、Docker DebugはDocker Desktop 4のベータオファリングとして利用できるようになりました。27.

dockerデバッグページのベータ版のスクリーンショット。
図 7: Docker デバッグ。

開発者は、アプリケーションのデバッグに 60%もの時間を費やすことができ、その時間の多くは、デバッグではなく、ツールやセットアップの並べ替えと構成に費やされます。 Docker Debug(Pro、Teams、またはBusinessサブスクリプションで利用可能)は、コンテナの起動に失敗した場合でも、ローカルおよびリモートのコンテナ化されたアプリをデバッグするための言語に依存しない統合ツールボックスを提供し、開発者が問題をより迅速に見つけて解決できるようにします。

開始するには、 サブスクリプション アカウント でログインした状態で Docker Desktop CLI で実行<Container or Image name> docker debug します。

結論

同期されたファイル共有から Docker Debug の最初のベータ リリースまで、Docker Desktop の最新の更新と機能は、開発者の生産性と運用効率を向上させるという Microsoft の継続的な取り組みを反映しています。 これらの機能をDocker Desktopに統合することで、開発プロセスが合理化され、チームはより効果的かつ安全にコラボレーションできるようになります。 Dockerが進化し続ける中、私たちはコミュニティとお客様に、最新のソフトウェア開発のダイナミックなニーズに対応する革新的なソリューションを提供することに専念し続けています。

今後のアップデートや機能強化にご期待ください、また、いつものように、これらの新機能が開発ワークフローにどのように役立つかを確認することをお勧めします。

Docker Desktop4 27にアップグレード します。 これらの更新を調べ、Docker の最新機能を試してみてください。

さらに詳しく