🦘

VS Code Dev Containers で Gemini CLI を利用する

に公開

VS Code Dev Containers で Gemini CLI を利用する

本記事は、こちらの Gemini CLI 用 Docker のドキュメントから抜粋したものです。

はじめに

このガイドでは、Docker を使って Gemini CLI を利用するための基本的な手順を説明します。
この Docker イメージには @google/gemini-cli があらかじめインストールされているため、ローカル環境に Node.js をインストールする必要はありません。
本プロジェクトのすべてのイメージは Docker Hub で入手可能です。

サンプル

プロジェクトのサンプルは、こちらを参照してください。

このサンプルでは、VS Code の Dev Containers 環境内で Gemini CLI を利用する方法を紹介します。

コンテナ環境は以下のように構成されています。

  • ユーザー: node(非 root ユーザー)
  • 作業ディレクトリ: /workspaces/{your-project-folder-name}(Dev Containers のデフォルト)
  • 公開ポート: なし

1. 事前準備

始める前に、以下が用意されていることを確認してください。

  • Docker:システムにインストールされていること。インストールは Docker 公式サイト から行えます。
  • Google Gemini API キー:Gemini モデルを利用するために必要です。Google AI Studio から取得できます。

2. 初期セットアップ

API キー用の設定ファイルと、ユーザーデータを永続化するディレクトリを準備します。

  • API キーの設定ホームディレクトリ.env.gemini という名前のファイルを作成し、YOUR_API_KEY_HERE を実際の API キーに置き換えて以下の内容を記載します。

    GEMINI_API_KEY=YOUR_API_KEY_HERE
    
  • ユーザーデータの永続化ホームディレクトリ.gemini ディレクトリを作成し、チャット履歴や設定を保存します。

    mkdir -p ~/.gemini
    

3. devcontainer.json の設定

  • .devcontainer/devcontainer.json

    {
      "name": "Gemini CLI Dev Container",
    
      // Select the image variant to use. For Dev Containers, `javascript-node` or `typescript-node` variants are recommended as they include development tools.
      "image": "naoyoshinori/gemini-cli:0-javascript-node",
    
      // Load environment variables from .env.gemini in the home directory
      "runArgs": ["--env-file","${localEnv:HOME}${localEnv:USERPROFILE}/.env.gemini"],
    
      // Configures the workspace folder. By default, it's set to:
      // "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
    
      // Mounts the workspace. By default, it mounts the directory as:
      // "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=cached",
    
      // Persist user settings and data
      "mounts": [
        // Mount host's ~/.gemini for persistent Gemini CLI user data (authentication, history, etc.)
        "source=${localEnv:HOME}${localEnv:USERPROFILE}/.gemini,target=/home/node/.gemini,type=bind,consistency=cached"
      ],
    
      // Specify the user to run operations inside the container
      "remoteUser": "node"
    }
    

4. 実行方法

  1. VS Code で開く
    このプロジェクトディレクトリを Visual Studio Code で開きます。

  2. コンテナで再オープン
    「Reopen in Container」 または 「Rebuild and Reopen in Container」 を選択して、Dev Container 環境を起動します。

  3. Gemini CLI の実行
    環境が準備できたら、VS Code のターミナルで直接 gemini コマンドを使用できます。

    gemini
    

Discussion