Docker Desktop 4.26: Rosetta、PHP Init、ビルド ビューの一般提供、管理者の機能強化、Microsoft Dev Box の Docker デスクトップ イメージ

Docker Desktop 4.26 のリリースは、Docker Desktop 最適化のための Rosetta の最新のブレークスルーを提供し、すべてのユーザーの Docker エクスペリエンスを変革します。 新しいリリースでは、Node.jsのフリーズやPHPセグメンテーションの欠陥などの一般的な問題を解決することで開発者の生産性を向上させ、速度の向上とDocker Desktopビルドの新しいビューでパフォーマンスを強化します。

Rosetta が Linux カーネルのビルド時間を短縮し、PHP プロジェクトを高速化し、Apple シリコンでのイメージ構築を最適化する方法をご紹介します。 さらに、Docker Init に PHP サポートを導入し、管理者が Docker Desktop ベータ版と実験的機能へのアクセスを管理できるようにしました。

Docker Desktop 4.26 にアップグレードして、さまざまな技術スタックのよりスムーズな開発エクスペリエンスとシームレスなコンテナー化を可能にするこれらの更新を検討してください。

図4.青い背景に白いテキストで26。

Docker Desktop の Rosetta

Docker Desktop 4.26 では、Rosetta for Docker Desktop のエクスペリエンスがよりスムーズになります。

  • Node.jsが長期間フリーズしますか? 付け。
  • PHPでセグメンテーション違反が発生しましたか? 解決。
  • プログラムは chroot に依存していますか? また、対処しました。
  • ロゼッタはソノマ14.0にぶら下がっていますか? これ以上はない。

さらに、私たちのチームは、特定のシナリオで Rosetta のパフォーマンスを向上させることに懸命に取り組んできました。 たとえば、AMD64 と Arm64 の両方に対して PostHog のようなプロジェクトを構築する場合を考えてみましょう。 以前は17分でしたが、現在は6分未満で達成されています。 

わずか 10 個の CPU と QEMU で Linux カーネル のビルド時間を 39 分から 17 分に短縮する Rosetta for Docker Desktop のパワーを体験できるようになりました。 

PHP と Composer のユーザーは、 Sylius Standard をゼロからビルドするのに、Docker Desktop の Rosetta のデフォルト設定で 6 分しかかからないことに気づくでしょう (20 分から短縮)。

Rosetta を使用して Apple シリコンで AMD64 イメージを構築するのはかつてないほど高速ですが、ネイティブの Arm64 イメージは依然として最も高速なオプションです。 Docker Hub は、好みの言語のさまざまな Arm64 イメージをホストし、プロジェクトの高速パフォーマンスを保証します。 

Docker Init での PHP サポートの導入

私たちは、すべてのユーザーとすべての言語にとってDockerをより簡単にし続けたいと考えています。 ユーザーインサイトに基づいて、さまざまな技術スタックのコンテナ化を簡素化する Docker Init(ベータ版) をリリースしました。 (詳細については、「Docker Init: 1 つの CLI コマンドで Dockerfile と Compose ファイルを初期化する」を参照してください。

Docker Init は、アプリケーションの言語とランタイムの詳細を検出することで、Dockerfile、 Compose YAML、および `.dockerignore` ファイルを自動的に生成します。 Docker Initは、当初はGolang、Python、Node、Rust、ASP.NET Coreをサポートしていましたが、Docker Desktop 4.26ではPHP Webアプリケーションのサポートを提供します(図1)。

docker init のウェルカム テキストを示すスクリーンショット。
図1: Docker Init に、PHP を含む利用可能な言語が表示されます。

ユーザーは、依存関係を管理するために Composer を使用して Apache ベースの Web アプリケーションをカバーする PHP プロジェクト用の Dockerfile を作成できるようになりました。

まず、 Docker Desktop の最新バージョンを使用していることを確認します。 次に、コマンドラインからプロジェクトディレクトリで実行 docker init します。 Docker Init に面倒な作業を任せて、優れたアプリケーションの構築というコアタスクに集中できるようにします。

Docker Desktop の Builds ビューの一般提供開始

イノベーションを重視するエンジニアにとって、ビルドの問題は大きな障害になる可能性があります。 そのため、ビルド ビューの一般提供を発表し、ビルドのパフォーマンスに関する詳細な分析情報を提供します。 ビルドのライブアップデートを取得し、過去のパフォーマンスを分析し、エラーやキャッシュの問題をトラブルシューティングします。

ビルドビューは、過去のビルドデータを保持することでトラブルシューティングを簡素化し、ターミナルログを失った後もずっとエラーを診断できるようにします。 引数や完全な Dockerfile など、ランタイム コンテキストを簡単に調べることができます。 UI から完全なビルド ログに直接アクセスできるため、詳細な概要を確認するためにビルドを再実行する必要がなくなります (図 2)。

同じイメージの履歴ビルドのタイミング情報、キャッシュ情報、および完了状態を示すビルド履歴ビュー。
図 2: 同じイメージの履歴ビルドのタイミング情報、キャッシュ情報、および完了状態を示すビルド履歴ビュー。

ビルド ビュー の GA リリースの詳細については、 発表のブログ記事 を参照してください。

管理者向けアップデート: Docker ベータ版と実験的機能へのアクセスの管理 

Dockerでは、最新の機能を継続的に実験し、ユーザーやお客様の手元に直接提供しています。 私たちは、これらのイノベーションが開発組織にどのように導入されるかをより詳細に制御できるようにすることで、Docker管理者に力を与えることに専念しています。 の admin-settings.json柔軟性により、 管理者は、機能のアクセシビリティを微調整できるようになりました(図3)。

ベータ機能が選択された状態で「開発中の機能」と「ベータ機能は管理者によってロックされています」というコメントを示す Docker Desktop のスクリーンショット。 "
図3: 管理者がベータ機能へのアクセスを制限した後のユーザー エクスペリエンス。

このアップデートにより、正確なカスタマイズが可能になり、管理者はDockerのベータ機能と実験的機能を組織固有の要件に合わせることができます。 個々のタブへのアクセスを制限する場合でも、包括的な制御を全面的に実装する場合でも、この機能強化は多様な開発プラクティスに対応し、すべてのユーザーのDockerエクスペリエンスを最適化するために必要な柔軟性を提供します(図4)。

実験的な機能が選択された "開発中の機能" と "実験的な機能は管理者によってロックされています" というコメントを示す Docker Desktop のスクリーンショット。 "
図4: 管理者が試験的機能へのアクセスを制限した後のユーザー エクスペリエンス。

構成設定の管理について詳しくは、ドキュメントを参照してください。

Docker Desktop と Microsoft Dev Box を使用したクラウドでの開発

快適なパソコンから Docker Desktop を実行できるだけでなく、Microsoft Dev Box を使用して、この使い慣れたエクスペリエンスをクラウド内で活用できるようになりました。 Microsoft Ignite セッション最近のブログ投稿で、開発者は、Docker Desktop と Microsoft Dev Box を使用してクラウドでコンテナーを作成するのがいかに簡単かを初めて確認しました。  

Azure Marketplace に移動して、 Docker Desktop-Dev Box 互換イメージのパブリック プレビュー をダウンロードし、ネイティブ エクスペリエンスでクラウドで開発を開始することをお勧めします。 さらに、このイメージは、現在のサブスクリプションでアクティブ化することも、 Azure Marketplace で直接 Docker Business サブスクリプションを購入することもできます。

結論

Docker エクスペリエンスを合理化するための、より画期的な開発と最適化にご期待ください。 お客様からのフィードバックは私たちの進歩の原動力となり、開発を簡素化し、すべてのユーザーに力を与えるソリューションを提供することをお約束します。

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

さらに詳しく