docker-local について
docker-localは、DDEV以外のDocker Compose開発環境を扱うためのスキルです。コンテナの基本操作やトラブルシューティングに加え、Drupal、Drush、MySQLの例を紹介します。
主な機能
- 01Composeファイルと環境ファイルの検出
- 02コンテナの起動、停止、状態確認
- 03ログ確認と起動トラブルの調査
- 04DrupalのDrushとデータベース操作
活用シーン
- 01ローカル開発サービスの起動や再構築
- 02コンテナログやポート競合の確認
- 03DrupalコンテナでDrushを実行
- 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/Web | php、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/ 用の名前付きボリュームを使用します。
コメント
Markdown 対応