🦚

Docker Compose で Gemini CLI を利用する

に公開

Docker Compose で Gemini CLI を利用する

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

はじめに

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

サンプル

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

このサンプルでは、Docker Compose を使って Gemini CLI を実行する方法を示します。

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

  • ユーザー: node(非 root ユーザー)
  • 作業ディレクトリ: /workspace(プロジェクトをマウントする場所)
  • 公開ポート: なし

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. docker-compose.yaml の設定

  • docker-compose.yaml

    services:
      gemini-cli:
        # Select the image variant to use
        image: naoyoshinori/gemini-cli:0-node
        # Working directory inside the container
        working_dir: /workspace
        # Synchronize files between host and container
        volumes:
          # Mount host's ~/.gemini for persistent Gemini CLI user data
          - ~/.gemini:/home/node/.gemini:cached
          # Mount the current project directory to /workspace inside the container
          - .:/workspace:cached
        # Load environment variables from .env.gemini in the home directory
        env_file:
          - ~/.env.gemini
        # Keep the container running indefinitely
        command: ["sleep", "infinity"]
    

4. 実行方法

  1. サービスの起動
    このディレクトリから、以下のコマンドを実行してバックグラウンドでサービスを起動します。

    docker-compose up -d
    
  2. Gemini CLI の実行
    サービスが起動したら、次のコマンドで Gemini CLI を実行できます。

    docker-compose exec gemini-cli gemini
    

Discussion