オープンソースのコンテナランタイムであるDockerエンジン上に構築Docker Desktop は、経験レベルに関係なく、大幅に拡張されたDocker機能を必要とする開発者にとって理想的です。 Docker デスクトップは、箱から出してすぐに使用できます。 DockerのCLI、Docker Compose、Kubernetes、およびその他のツールをパッケージ化して、アプリケーション開発を合理化します。 Docker Desktopの迅速なインストールとOSにとらわれないことも、開発者の間で人気を高めています。
Docker Desktop内のすべての機能を発見して完全に把握するには、明確な出発点がないため、時間がかかる場合があります。 強力な機能が盛りだくさん! ただし、デスクトップ内で最も役立つと思われるいくつかの重要な機能を強調することを選択しました。 コミュニティと開発者からのフィードバックに基づいて、トップ5は次のとおりです ドッカーデスクトップの機能 これにより、開発エクスペリエンスが向上します。
1)簡素化された権限管理
アクセス許可の管理と理解は、コンテナーの操作中に困難な場合があります。 所有権とユーザー ID が環境のセキュリティーにどのように影響するか、およびローカルで生成されたファイルをどのように操作するかについて心配する必要があります。
残念ながら、コンテナー ユーザーとホスト ユーザーが異なる可能性があります。 開発者のフアン・トレミニオが強調 PHP Composer サポートと PHP イメージを使用して Docker コンテナーを実行すると、技術的には効果的ですが、読み取り専用ファイルが生成されます。 これは、完全なファイルアクセスが必要な場合には適していません。 したがって、ファイルとディレクトリはrootで所有されている可能性がありますが、さまざまな理由でrootの使用を避けることができます。 頼りになる 須藤 また、非効率的です。 最後に、考慮する必要があります 港湾労働者 グループと ユーザー権限の継承方法.この絡み合ったウェブをほどくことは、ボリュームをマウントする際には困難です。
Docker デスクトップは、これらのファイル所有権の問題を消去します。 ボリュームのマウント中にファイルマッピングが自動的に適用されます。 したがって、Desktop は、コンテナが必要とするものと、ホストマシンで使用しているものに一致するように、ユーザーとグループの所有権を更新します。 これを手動で行うのはやや面倒な場合があります。
デスクトップでは、 ファイルを所有する あなた自身のマシンユーザーとして。 これにより、フルアクセスが許可され、アクセス許可のハードルにつまずくことなく作業できるようになります。 最後に、Docker デスクトップでは、VM での実行中に特権エスカレーション保護が提供されます。
2)強力なファイル共有機能
ファイル共有は、特にホストマシンとコンテナ間の通信中、Docker Desktop のコア機能のままです。 これらのファイルタイプをDocker環境全体でアクセス可能にすることは、アプリケーションとそのランタイム構成を強化するため、非常に重要です。
- ソースコード
- 少量のメディアアセット(画像や動画など)
- アーティファクトの構築
- データベースバックエンド
- ログ
既存のオブジェクトデータを新しいコンテナで再利用することもできます。 これは、新しいデプロイを合理化し、すぐに最適化を適用するのに役立ちます。
残念ながら、ファイルシステムとの互換性の問題にしばしば遭遇します—コンテナとコンピュータでは異なる場合があります.ホストとコンテナー間の転送も、大規模なパフォーマンスを低下させる可能性があります。
ありがたいことに、Dockerデスクトップ側はいくつかの方法でこれらの問題に対処します。 まず、Docker Desktop は名前付きボリュームをサポートします。 これらはVMファイルシステム自体の中に存在し、OSに関係なくすべてのワークステーションで高速です。
次に、Windows Subsystem for Linux (WSL 2)は、追加のファイル共有パフォーマンスのロックを解除するもう1つの優れた方法です。 ただし、Linuxファイルシステム内にファイルを保存していることを確認してください。
第三に、macOSユーザー 実験的な新しい実装があります と呼ばれる バーティオフ 彼らの処分で。 ワークロードに応じて、この機能は実行速度を最大98%向上させることができます。 この機能強化は GitHub リクエストのリストのトップであり、多くのユーザーにプラスの影響を与えると考えています。
最後に、Docker ダッシュボードの視覚化 重要なボリュームの管理を支援.コンテナやイメージと同様に、デスクトップには既存のすべてのボリュームがリストに表示されます。 マウントされたボリュームには「使用中」というラベルが付けられますが(アクティブになったことがわかるように)、アイドル状態のボリュームにはタグが付けられません。
ボリュームを作成したときのことを決して忘れません。 ボリュームサイズは明確にリストされています。 また、数回クリックするだけでボリュームを作成または削除できるため、ボリュームが使用されなくなったときにディスク領域を簡単に解放できます。 一方、Docker Engine でこれを実現するには、複数の CLI コマンドが必要であり、それほど難しくはありませんが、より多くの時間と注意が必要です。 Docker Desktop は、追加のオープンソース ツールを必要とせずに、統合された管理機能を提供します。
3)単一のKubernetesノードクラスターの迅速な展開
によると クラウドネイティブコンピューティング財団の2021年調査、ドッカー、および Kubernetes 人気のペアリングに成長しました。 結局のところ、回答者の37%がDocker Kubernetesの実装を使用しています。
Kubernetes は複雑さにも定評があります。 システムの需要は高いですが、セットアッププロセスは必ずしも簡単ではありません。
Docker Desktop は、ローカルの Kubernetes クラスターを提供し、すべての管理レッグワークを処理します。 コンポーネントの更新や追加のメンテナンスの実行について心配する必要はありません。 デスクトップをインストールしてアプリアイコンをクリックした後、[設定]を選択するとダッシュボードが開き、サイドバーにKubernetesが表示されます。 ここから [Kubernetes] ペインを簡単に起動できます。
Docker Desktop のインターフェイスはすっきりとしているため、Kubernetes の構成を簡単にナビゲートできます。
[Kubernetesを有効にする]チェックボックスをクリックするだけで、すべての依存関係がバックグラウンドでダウンロードされます。 そこから、あなたは行ってもいいです! これにより、独自のコンテナー ランタイムを選択したり、他のクラスター作成ツールを必要としたりする必要がなくなります。
Docker 経由で Kubernetes をデプロイする方法の詳細については、以下を参照してください。 ドキュメントページ.
4) 開発環境 (プレビュー)
まだ一般提供に段階的ではありませんが、 開発環境 は、Docker デスクトップ内の主要なコラボレーション機能です。 このプレビューにはサイドバーからアクセスできます。 これにより、新しいプロジェクトにすばやく参加できます。
開発者環境は、すべての開発コンポーネントを 1 つの開発環境にパッケージ化するため、数回クリックするだけで貢献できます。 「それはうまくいった」の欲求不満に別れを告げる 私の machine」を実行し、OS間で機能する開発環境を簡単に管理および保守できます。 開発環境では、次のことができます。
- 開発環境をローカルまたは GitHub URL から簡単に開始
- 作成アプリケーションを開発環境として設定する
- クラウドリソースを購入する代わりに、ローカルリソースを使用して環境を低コストで実行
必ずDockerデスクトップ3.5.0をインストールしてください または開発環境を使用する前に、常に最新バージョンを使用することをお勧めします。 また、Git、Visual Studio Code (VSC)、および VSC Remote Containers Extension も必要です。
また、開発環境を使用すると、ローカルの競合なしに複数のプロジェクトやブランチでシームレスに作業できます。 できます:
- VS Code ターミナルで実行中のコンテナーを開くと、コードの編集、リポジトリへのコードのプッシュまたはプル、ブランチの切り替えを行うことができます
- ブランチとタグから開発環境を作成し、それらを同時に実行して、進行中のコードのバージョンを簡単に比較できます
- コードを編集し、変更をリアルタイムでコミットする
同期と透過性は、開発環境の 2 つの主な利点です。 競合をマージし、ブランチ間を繰り返し移動してコードレビューを実行するために別れを告げます。
5)ドッカー拡張機能(近日公開)
最後に、Docker Desktopはすぐに歓迎します Docker Extensions 折り目に。 パートナーやコミュニティの貢献者からの新しい統合を試用するようユーザーを招待しています ドッカーコン2022.拡張機能は、デスクトップのダッシュボードUIを自動的に利用します。 コンテナ、ローカルシステム、ボリュームなどに関する詳細情報を表示できます。 また、Docker コミュニティには、拡張機能を通じてデスクトップの機能を強化することをお勧めします。
最良の状況下では、開発には多くの時間がかかります。 ツール間を繰り返しジャンプすると、貴重な時間が無駄になる可能性があります。 拡張機能を使用すると、Dockerデスクトップ内にとどまり、ウィンドウを切り替えることなく複数のタスクに取り組むことができます。
5 月のプレビューと共に Docker 拡張 SDK をリリースするのが待ちきれません。 これにより、組織や顧客は独自の機能をDockerデスクトップに組み込むことができます。 DockerCon にご参加ください 拡張機能の詳細については、ベータ版をリリースする前に詳しく説明します。
続報をお楽しみに!
Docker Desktop は絶えず進化しています。 現在、お客様からのフィードバックと製品ロードマップに基づいて機能を追加する方法を調査しています。 現在の機能リクエストを確認し、独自のデスクトップの問題を開き、さらに表示したい機能に投票することもできます 私たちの公開ロードマップ.あなたのフィードバックはすべてを意味し、私たちはあなたの考えを聞いてみたいです。
ドッカーコン2022
5月10日火曜日に開催されるDockerCon2022にご参加ください。 DockerCon は、次世代の最新アプリケーションを構築している開発者や開発チームにとってユニークな体験を提供する、無料の 1 日の仮想イベントです。 コードからクラウドにすばやく移行する方法と開発の課題を解決する方法について学びたい場合は、DockerCon 2022 でアプリケーションの構築、共有、実行に役立つ魅力的なライブ コンテンツが提供されます。 今すぐご登録ください https://www.docker.com/dockercon/