🐘
「`docker ps` で調べた **コンテナIDを直接指定して** Laravelのキャッシュクリアしたい」とき
コンテナIDを使ったキャッシュクリアコマンド
1. まずコンテナIDを確認
docker ps
例)こんなのが出てるとします:
CONTAINER ID IMAGE COMMAND ...
abc123def456 my-laravel-app "docker-php-entry…" ...
この abc123def456 がコンテナIDです。
2. そのコンテナの中で artisan コマンドを実行
基本形はこれ 👇
docker exec -it <コンテナID> php artisan <コマンド名>
なので、Laravelのキャッシュ系はこう撃てます。
アプリキャッシュ削除
docker exec -it abc123def456 php artisan cache:clear
ルートキャッシュ削除
docker exec -it abc123def456 php artisan route:clear
コンフィグキャッシュ削除
docker exec -it abc123def456 php artisan config:clear
ビューキャッシュ削除(Blade)
docker exec -it abc123def456 php artisan view:clear
オプションの意味
docker exec -it abc123def456 php artisan cache:clear
└─┬─ └┬┘ └───── コンテナID ┘ └── コンテナの中で実行するコマンド
│ │
│ └─ インタラクティブモード+擬似ターミナル
└── exec = 実行
-
docker exec
→ すでに動いているコンテナの中でコマンドを実行する -
-i
→ 標準入力を有効(interactive) -
-t
→ 擬似ターミナルを割り当て(tty)
補足:docker compose 使ってる場合はサービス名でもOK
もし docker-compose.yml / docker compose を使っていて、
services:
app:
container_name: my-laravel-app
みたいな構成なら、コンテナIDじゃなくて サービス名 で叩くことも多いです。
docker compose exec app php artisan cache:clear
docker compose exec app php artisan route:clear
docker compose exec app php artisan config:clear
docker compose exec app php artisan view:clear
コンテナIDでやるパターンも、サービス名でやるパターンも覚えておくと、
現場どっちの書き方にも対応できるのでおすすめです 💪
Discussion