📌

Docker ComposeでBedrock Engineerを使う方法:完全ガイド

2024/07/17に公開

はじめに

こんにちは!今回は、最新のAI技術を活用したソフトウェア開発支援ツール「Bedrock Engineer」をDocker Composeを使って簡単に始める方法をご紹介します。

このガイドでは、DockerやDocker Composeについての基本的な説明から、Bedrock Engineerの具体的な設定方法まで、ステップバイステップで解説していきます。

技術に詳しくない方でも理解できるよう、できるだけ分かりやすい言葉で説明していきますので、ぜひ最後までお付き合いください!

デモ動画

Bedrock Engineerとは

まずは、Bedrock Engineerについて簡単に説明しましょう。

Bedrock Engineerは、ソフトウェア開発者の強力な味方となるAIツールです。このツールは、大規模言語モデル(LLM)の力を借りて、次のような機能を提供します:

  • コードの分析と改善提案
  • プロジェクト構造の作成と管理
  • ファイル操作の自動化
  • Web検索機能
  • AWSクラウドリソースの構築とデプロイ

つまり、Bedrock Engineerは、開発者の頭脳を拡張し、より効率的かつ高品質な開発作業を支援するAIアシスタントだと言えます。

Dockerとは

次に、Dockerについて説明しましょう。

Dockerは、アプリケーションを素早く構築、テスト、デプロイするためのプラットフォームです。Dockerを使うと、アプリケーションとその依存関係を「コンテナ」と呼ばれる軽量な実行環境にパッケージ化できます。

Dockerを使うメリットは以下の通りです:

  1. 環境の一貫性: 開発、テスト、本番環境を同じ設定で維持できます。
  2. 移植性: どのような環境でも同じように動作します。
  3. 効率性: システムリソースを効率的に使用します。
  4. 分離: アプリケーション間の干渉を防ぎます。

Docker Composeとは

Docker Composeは、複数のDockerコンテナを定義し、実行するためのツールです。

例えば、ウェブアプリケーション、データベース、キャッシュサーバーなど、複数のサービスで構成されるアプリケーションがあるとします。Docker Composeを使えば、これらのサービスを1つの設定ファイル(通常はdocker-compose.yml)で定義し、単一のコマンドで全てのサービスを起動できます。

Docker Composeの主な利点は以下の通りです:

  1. 簡素化: 複雑なアプリケーションの起動を簡単にします。
  2. 再現性: 同じ環境を簡単に再現できます。
  3. 開発効率の向上: ローカル開発環境の構築が容易になります。

Bedrock EngineerのDocker設定

では、いよいよBedrock EngineerのDocker設定について説明しましょう。

Bedrock Engineerのリポジトリには、すでにDockerfile(Dockerイメージを定義するファイル)とdocker-compose.yml(Docker Compose設定ファイル)が用意されています。

これらのファイルにより、Bedrock Engineerを簡単にDockerコンテナ内で実行できるようになっています。

Docker Composeファイルの詳細解説

Bedrock EngineerのDocker Compose設定ファイル(docker-compose.yml)を詳しく見ていきましょう。

version: '3.8'

services:
  bedrock-engineer:
    build: .
    volumes:
      - .:/app
      - /app/node_modules
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
    tty: true
    env_file:
      - .env

この設定ファイルを1行ずつ解説していきます:

  1. version: '3.8': Docker Composeファイルのバージョンを指定しています。

  2. services:: ここから、実行するサービス(コンテナ)の定義が始まります。

  3. bedrock-engineer:: このサービスの名前です。

  4. build: .: カレントディレクトリにあるDockerfileを使ってイメージをビルドします。

  5. volumes:: ホストとコンテナ間でデータを共有するための設定です。

    • . : /app: カレントディレクトリをコンテナの/appディレクトリにマウントします。
    • /app/node_modules: node_modulesディレクトリを独立したボリュームとして保持します。
  6. ports: - "3000:3000": ホストのポート3000をコンテナのポート3000にマッピングします。

  7. environment: - NODE_ENV=production: 環境変数を設定します。ここではNode.jsの実行環境を本番モードに設定しています。

  8. tty: true: コンテナに疑似TTYを割り当てます。これにより、コンテナ内でインタラクティブなコマンドを実行できます。

  9. env_file: - .env: .envファイルから環境変数を読み込みます。

Bedrock Engineerの起動方法

さて、Docker Composeの設定ファイルについて理解したところで、実際にBedrock Engineerを起動する方法を説明しましょう。

  1. まず、Bedrock Engineerのリポジトリをクローンします:

    git clone https://github.com/daisuke-awaji/bedrock-engineer
    cd bedrock-engineer
    
  2. 次に、Docker Composeを使ってコンテナをビルドし、起動します:

    docker-compose up --build
    

    このコマンドは、Dockerイメージをビルドし、コンテナを起動します。初回は少し時間がかかるかもしれません。

  3. コンテナが起動したら、別のターミナルウィンドウを開き、次のコマンドでコンテナ内にシェルを開きます:

    docker-compose exec bedrock-engineer /bin/bash
    
  4. コンテナ内のシェルで、Bedrock Engineerを起動します:

    npm run start
    

これで、Bedrock Engineerが起動し、使用可能になりました!

トラブルシューティング

Bedrock Engineerの起動時に問題が発生した場合、以下のような対処法を試してみてください:

  1. ポートの競合: 3000番ポートが既に使用されている場合は、docker-compose.ymlファイルのポート設定を変更してみましょう。

  2. ビルドエラー: docker-compose up --buildコマンドでエラーが発生する場合は、Dockerイメージを再ビルドしてみてください:

    docker-compose build --no-cache
    
  3. 環境変数の問題: .envファイルが正しく設定されていることを確認してください。

  4. コンテナ内でのエラー: コンテナ内でnpm run startを実行してエラーが発生する場合は、次のコマンドで依存関係を再インストールしてみてください:

    npm ci
    

問題が解決しない場合は、Bedrock EngineerのGitHubリポジトリのIssuesセクションで支援を求めることができます。

まとめ

以上が、Docker Composeを使ってBedrock Engineerを起動する方法の詳細ガイドでした。

Dockerを使うことで、Bedrock Engineerの環境構築が大幅に簡素化され、どのようなシステム上でも一貫した動作を保証できます。

Bedrock Engineerは非常にパワフルなAIアシスタントツールです。Docker Composeを使って簡単に始められるこのツールを、ぜひ皆さんの開発プロジェクトに取り入れてみてください。AIの力を借りて、より効率的で創造的な開発を行いましょう!

何か質問や不明点があれば、お気軽にコメントしてください。Happy coding!

元のリポジトリ

https://github.com/daisuke-awaji/bedrock-engineer

日本語化+Dockerに改造したリポジトリ

https://github.com/Sunwood-ai-labs/bedrock-engineer/blob/feature/docker/docs/README_JP.md

Discussion