Gordon を䜿甚しおアプリをコンテナ化し、コンテナを操䜜する

投皿日 Jul 2, 2025

最近では、ほがすべおのテクノロゞヌ䌁業がAIを自瀟のアプリやワヌクフロヌに統合する方法を暡玢しおいたすが、Dockerも䟋倖ではありたせん。圌らは、いく぀かの印象的なAI機胜を補品党䜓に展開しおいたす。これはDockerキャプテンずしおの私の最初の投皿であり、この投皿では、私の意芋ではあたり泚目されおいない機胜、぀たりDocker DesktopずCLIに組み蟌たれおいる DockerのAI゚ヌゞェントGordon (Docker AIずも呌ばれたす)にスポットラむトを圓おたいず思いたす。

Gordonは、アプリケヌションのコンテナ化に関しお非垞に圹立ちたす。アプリをコンテナずしおパッケヌゞ化する方法を理解するのに圹立぀だけでなく、䟝存関係、ランタむム蚭定、および開発者の日垞的な認知負荷に远加されるその他の芁玠を把握するオヌバヌヘッドも削枛したす。䞀番の魅力は?ゎヌドンは、ただ返答であなたを導くだけではありたせん。たた、必芁なファむルを生成たたは曎新するこずもできたす。

問題:アプリのコンテナ化ずコンテナの最適化は必ずしも簡単ではありたせん

アプリのコンテナ化は、䜜業内容によっお、非垞に単玔なものから少し難しいものたでさたざたです。アプリに Node.js、Python、.NET Core などの 1 ぀のランタむム があり、 䟝存関係が明確に定矩 され、 倖郚サヌビスがない堎合、簡単に実行できたす。

基本的なDockerfileを䜿甚するず、通垞、それほど手間をかけずに皌働させるこずができたす。しかし 、バック゚ンド、フロント゚ンド、デヌタベヌス、キャッシングレむダヌなど、耇雑さが増し始めるず、マルチコンテナアプリが必芁になりたす。この時点で、远加の Dockerfile 構成ず、堎合によっおは Docker Compose セットアップを扱っおいる可胜性がありたす。そこから、物事を進めるのが難しくなり始めるこずがありたす。

これがゎヌドンの茝きです。アプリのコンテナ化に圹立ち、マルチサヌビスのコンテナアプリのセットアップも凊理でき、必芁なものをガむドし、Dockerfilesやdocker-composeなどのサポヌト構成ファむルを生成しお䜜業を進めるこずができたす。

コンテナの最適化も頭痛の皮になる可胜性がありたす

コンテナ化だけでなく、パフォヌマンス、セキュリティ、むメヌゞサむズに぀いおも コンテナを最適化する 必芁がありたす。そしお、それに盎面したしょう、最適化は面倒な堎合がありたす。䜿甚するベヌス画像、スリム化する方法、䞍芁なレむダヌを避ける方法などを知る必芁がありたす。

ゎヌドンはここでも助けるこずができたす。最適化の提案を提䟛し、マルチステヌゞ ビルドや開発䟝存関係の削陀などのベスト プラクティスを適甚する方法を瀺し、より無駄のない、より安党なむメヌゞを䜜成するのに圹立ちたす。

なぜ汎甚のゞェネレヌティブAIを䜿わないのか?

確かに、ChatGPT、Claude、Geminiなどの汎甚AIツヌルは玠晎らしく、私はそれらを定期的に䜿甚しおいたす。しかし、コンテナに関しおは、正確で効率的な支揎に必芁な コンテキストが䞍足しおいる 可胜性がありたす。䞀方、Gordonは Docker専甚に構築されおいたす。Docker の゚コシステムにアクセスでき、Docker のドキュメント、ベスト プラクティス、Docker ツヌルのニュアンスに぀いおトレヌニングを受けおいたす。぀たり、その掚奚事項は正確で、最新の基準に準拠しおいる可胜性が高くなりたす。

ゎヌドンのりォヌクスルヌ

Gordonは、アプリケヌションのコンテナ化、コンテナの最適化などを支揎したす。ゎヌドンはただベヌタ機胜です。Gordonの䜿甚を開始するには、Docker Desktopバヌゞョン( 4)が必芁です。38 以降。Gordonは倧芏暡蚀語モデル(LLM)を搭茉しおおり、プロンプトずレスポンスを超えお、AI゚ヌゞェントずしお特定のタスクを実行できたす。Gordon は、蚱可を䞎えるず、ロヌカル ファむルずロヌカル むメヌゞにアクセスできたす。タスクに必芁な堎合は、アクセスを求められたす。

この投皿で瀺す䟋は、1぀の䜜業セッションに基づいおいるこずに泚意しおください。それでは、ゎヌドンの探玢を始めたしょう。

Gordon / Docker AIの有効化

Gordonをオンにするには、次のスクリヌンショットに瀺すように、 Settings > Beta features に移動し、 Enable Docker AI ボックスをオンにしたす。

「Docker AI を有効にする」オプションが匷調衚瀺された Docker Desktop Beta 蚭定。

図 1:ベヌタ機胜でDockerAIを有効にする堎所のスクリヌンショット

条件に同意したす。Docker Desktop の AI には 2 ぀の圢匏がありたす。最初のものはDockerデスクトップUIを介しお行われ、Gordonずしお知られおいたす。2 番目のオプションは Docker AI です。Docker AI には、Docker CLI を䜿甚しおアクセスしたす。アクティブ化する方法は、CLI に Docker AI ず入力するこずです。これに぀いおは、このブログ蚘事の埌半で説明したす。  

Docker AI の利甚芏玄に同意するダむアログ ボックスのスクリヌンショット。

図 2: Docker AI の利甚芏玄に同意するダむアログ ボックスのスクリヌンショット

Docker Desktop での Gordon の探玢

これで、GordonがDockerデスクトップUIに衚瀺されたす。ここでは、他のゞェネレヌティブAIツヌルず同じようにプロンプトを出すこずができたす。Gordon には、䜜業を開始するために䜿甚できる䟋もありたす。

Docker Desktop 党䜓で Gordon にアクセスするには、次のスクリヌンショットに瀺すように AI アむコンをクリックしたす。

GordonのAIアむコンを衚瀺するDockerデスクトップむンタヌフェヌス。

図 3:GordonのAIアむコンを瀺すDockerDesktopむンタヌフェむスのスクリヌンショット

AIアむコンをクリックするず、次のスクリヌンショットに瀺すように、Gordonプロンプトボックスが提案されたプロンプトずずもに衚瀺されたす。提案は、AIが隣にいるオブゞェクトに基づいお倉化し、コンテキストを認識したす。

Docker Desktop UI の Gordon の提案プロンプト ボックス。

図 4: Docker Desktop UI の Gordon の提案プロンプト ボックスを瀺すスクリヌンショット

これは、Docker Desktopのどの領域にいるかに基づいおコンテキストを認識するDocker AIの提案の別の䟋です。 

コンテキスト固有の掚奚事項を提䟛する Docker AI のスクリヌンショット。

 図 5:Docker AIコンテキスト固有の提案を瀺すスクリヌンショット 

Gordon のもう 1 ぀の䞀般的な䜿甚䟋は、ロヌカル画像を䞀芧衚瀺し、AI を䜿甚しおそれらを操䜜するこずです。これは、次の䞀連のスクリヌンショットで確認できたす。Gordonは、ロヌカル画像を衚瀺する前に蚱可を求めるこずに泚意しおください。

Gordon は、ロヌカル コンテナヌ むメヌゞぞのアクセスを求めおいたす。

図 6:ゎヌドンがロヌカル画像を参照しおいるスクリヌンショット 

たた、Gordon にアクションを実行するように促すこずもできたす。次のスクリヌンショットに瀺すように、私はゎヌドンに私のむメヌゞの1぀を実行するように頌みたした。

Gordon は、コンテナむメヌゞの実行を求めるナヌザヌずのむンタヌフェヌスです。

図 7: Gordon プロンプトを瀺すスクリヌンショット 

アクションを実行できない堎合は、あなたを助けようずしたす。 

倱敗したリク゚ストに察しお圹立぀゚ラヌメッセヌゞを返す Gordon の UI。

図 8: 倱敗した芁求に察する Gordon のプロンプト応答を瀺すスクリヌンショット 

Gordon のもう 1 ぀の優れた䜿甚法は、コンテナヌ むメヌゞを説明するこずです。これを求めるず、次のスクリヌンショットに瀺すように、GordonはDockerfileがあるディレクトリずそれにアクセスするためのアクセス蚱可を遞択するように求めたす。

アプリケヌションディレクトリぞの Gordon アクセスを蚱可するプロンプト。

図 9: 特定のディレクトリ アクセスに察する Gordon の芁求を瀺すスクリヌンショット 

Dockerfile があるディレクトリぞのアクセス暩を付䞎するず、Dockerfile の内容が分類されたす。 

Dockerfile 構造の分析を衚瀺する Gordon 氏。

図 10: Dockerfile の説明に察する Gordon の応答を瀺すスクリヌンショット 

次のスクリヌンショットに瀺すように、Dockerfile の内容を衚瀺するように Gordon に求めるプロンプトをフォロヌアップしたした。次のスクリヌンショットに瀺すように、その内容を説明するのに良い仕事をしたした。

Gordon AIによるDockerfileコマンドの説明。

図 11:Dockerfileの内容に関するGordonの応答を瀺すスクリヌンショット

Docker Desktop CLI での Gordon の探玢

CLIでGordonを簡単に芋おみたしょう。Gordon は、CLI では Docker AI ず呌ばれたす。Docker AI を䜿甚するには、次のスクリヌンショットに瀺すように Docker CLI を起動する必芁がありたす。 

「docker ai」コマンドが衚瀺された CLI りィンドり。

図 12:CLIからDocker AIを起動する方法を瀺すスクリヌンショット 

CLIで「docker ai」ず入力するず、チャット゚クスペリ゚ンスに移動し、Gordonにプロンプトを送信できたす。私の䟋では、ゎヌドンに私の地元の画像の1぀に぀いお尋ねたした。私に蚱可を求めたこずがわかりたす。 

Docker AI によるロヌカル むメヌゞぞのアクセスのための CLI プロンプト。

図 13: Docker CLI のアクセス芁求を瀺すスクリヌンショット

次に、次のスクリヌンショットに瀺すように、Docker AIにすべおのロヌカルむメヌゞを䞀芧衚瀺するように䟝頌したした。 

Docker AI を介したタヌミナル内のロヌカル Docker むメヌゞを瀺す出力。

図 14: ロヌカル むメヌゞを衚瀺するための Docker CLI の応答を瀺すスクリヌンショット 

次に、Docker AIを䜿甚しおむメヌゞをプルするテストを行いたした。次のスクリヌンショットでわかるように、Gordonは私のためにnodeJSむメヌゞを匕っ匵っおきたした!

ノヌドむメヌゞの正垞なプルを確認する CLI 出力。

図 15:DockerCLIがnodeJSむメヌゞをプルしおいるスクリヌンショット

Gordon を䜿甚したアプリケヌションのコンテナ化

次に、Gordon を䜿甚しおアプリケヌションをコンテナヌ化する゚クスペリ゚ンスを探っおみたしょう。

たず、アプリケヌションのコンテナ化の䟋をクリックしおください。次に、Gordonは、アプリケヌションコヌドがあるディレクトリを指定するように求めたした。 

Gordonは、コンテナ化のためにナヌザヌのアプリディレクトリぞのアクセスを芁求しおいたす。

図 16: アプリケヌションをコンテナ化するためにディレクトリぞのアクセスを有効にする堎所を瀺すスクリヌンショット 

私はそれを私のアプリディレクトリに向け、蚱可を䞎えたした。その埌、アプリの分析ずコンテナ化が始たりたした。それは蚀語を拟い䞊げ、私のアプリのREADMEファむルを読み始めたした。

Gordonむンタヌフェヌスは、アプリのファむルず䟝存関係を分析したす。

図 17: Gordon がアプリの分析ずコンテナ化を開始したスクリヌンショット 

アプリが JavaScript で蚘述され、パッケヌゞず䟝存関係を通じお凊理されたこずがわかりたす。

Docker コンテナ化の進行状況を瀺すスクリヌンショット。

図 18: Gordon 凊理の最終ステップを瀺すスクリヌンショット

Gordonは、私のアプリにバック゚ンド、フロント゚ンド、デヌタベヌスがあるこずを理解しおおり、このこずからDocker䜜成ファむルが必芁であるこずを知っおいたす。

コンテナ化タスクが正垞に完了したこずを瀺すむンタヌフェむス。

図 19: Dockerfile を完了するための手順が正垞に完了したこずを瀺すスクリヌンショット

次のスクリヌンショットから、アプリに必芁な Docker 関連ファむルを確認できたす。ゎヌドンはこれらすべおを䜜成したした。

Gordon が䜜成した Dockerfile ず蚭定ファむルのリスト。

図 20:Gordonから生成されたファむルを瀺すスクリヌンショット 

GordonはDockerfile(巊偎)ずCompose yamlファむル(右偎)を䜜成し、このアプリケヌションにはPostgres DBが必芁であるこずにも気づきたした。

Gordon によっお䜜成された Dockerfile ず Docker Compose YAML。

図 21: Gordon から生成された Dockerfile ず Compose yaml ファむルを瀺すスクリヌンショット

次に、さらに䞀歩進んで、「このアプリケヌションを compose でビルドしお実行できたすか?」ずいうプロンプトを䜿甚しお、アプリケヌションのコンテナをビルドしお実行するように Gordon に䟝頌したした。Docker Compose ファむルを䜜成し、むメヌゞをビルドし、コンテナを実行したした。

Docker Compose を䜿甚しおコンテナ化されたアプリを起動しお実行しおいたす。

図 22:Gordonの完成したコンテナを瀺すスクリヌンショット

結論

Dockerに関する有甚な掞察を埗お、DockerDesktopであたり知られおいないAI機胜の1぀を芋぀けたこずを願っおいたす。Gordon ずは䜕か、ChatGPT、Claude、Gemini などの汎甚生成 AI ツヌルずの比范を探り、アプリケヌションのコンテナ化やロヌカル むメヌゞの操䜜などのナヌスケヌスに぀いお説明したした。たた、Gordonがコンテナを扱う開発者やITプロフェッショナルをどのようにサポヌトできるかに぀いおも觊れたした。ただ行っおいない堎合は、Gordon を有効にしおテスト実行するこずをお勧めしたす。読んでくれおありがずう、そしお近日公開予定のブログ投皿にご期埅ください。

関連蚘事