mcpField
D
docker-local

docker-local

github.com/edutrulクラウド・DevOps7348 回インストール21 週間前に更新
リポジトリ

docker-local について

docker-localは、DDEV以外のDocker Compose開発環境を扱うためのスキルです。コンテナの基本操作やトラブルシューティングに加え、Drupal、Drush、MySQLの例を紹介します。

主な機能

  1. 01Composeファイルと環境ファイルの検出
  2. 02コンテナの起動、停止、状態確認
  3. 03ログ確認と起動トラブルの調査
  4. 04DrupalのDrushとデータベース操作

活用シーン

  1. 01ローカル開発サービスの起動や再構築
  2. 02コンテナログやポート競合の確認
  3. 03DrupalコンテナでDrushを実行
  4. 04MySQLデータのインポートやエクスポート

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/edutrul/drupal-ai --skill docker-local

インストール後、Claude Code で/docker-localを入力して読み込まれたか確認します。

同梱ファイルREADME.md

詳細

Docker Compose のローカル開発

カスタムの Docker Compose ローカル開発環境(DDEV 以外)で作業しています。

環境の検出

ls -la docker-compose*.yml compose*.yml .env* Makefile docker/ scripts/ 2>/dev/null

よく使うコマンド

docker compose up -d              # Start in background
docker compose up -d --build      # Start with rebuild
docker compose down               # Stop and remove containers
docker compose down -v            # Also remove volumes (DATA LOSS!)
docker compose exec <service> <cmd>
docker compose run --rm <service> <cmd>  # One-off (if not running)
docker compose ps && docker compose logs -f <service>

Drupal Docker のパターン

サービスタイプよく使われる名前
PHP/Webphp、web、app、drupal、php-fpm
データベースdb、mysql、mariadb、postgres
キャッシュredis、memcached
検索solr、elasticsearch
# Drush
docker compose exec php ./vendor/bin/drush cr

# MySQL import/export
docker compose exec -T db mysql -u root -p<password> <database> < dump.sql
docker compose exec db mysqldump -u root -p<password> <database> > dump.sql

トラブルシューティング

# Port conflicts
sudo lsof -i :80

# Container won't start
docker compose logs <service>
docker compose down && docker compose up -d --build

# Permissions
docker compose exec php chown -R www-data:www-data /var/www/html/web/sites/default/files

# Network: containers reach each other by service name (e.g. host: db)
docker network inspect <project>_default

環境変数

Docker Compose は .env を自動的に読み込みます:

COMPOSE_PROJECT_NAME=myproject
MYSQL_ROOT_PASSWORD=root
MYSQL_DATABASE=drupal

macOS でのパフォーマンス::cached ボリュームフラグと、vendor/ 用の名前付きボリュームを使用します。

コメント