devcontainer.json の shutdownAction を調べてみた

Tech

.devcontainer/devcontainer.json 中に shutdownAction というのがあったけど、ちゃんとわからなかったので調べてみた(今回は Windows 11 に Docker Desktop – wsl2 based engine を入れた環境で VS Code を使って試してみた)。

{
  "shutdownAction": "stopCompose",
  ...

エディタを閉じる(終了する)ときなのか、close remote connection したときなのかわからないけど、そんな感じのときにコンテナをどうするかを指定できるみたい。指定できるものは、stopCompose の他に nonedown があるようだ。

  • none: 何もしない
  • stopCompose: docker compose stop が実行される
  • down: docker compose down が実行される

ちょっと見た限りでは reopen folder locally でも close remote connection でもコンテナが stop した。

で、起動時になんかするものはないのかと思ったら、postCreateCommandpostStartCommandpostAttachCommand というのがあった。

  • postCreateCommand: コンテナをつくったらその後に一度だけ実行
  • postStartCommand: コンテナ起動ごとに実行
  • postAttachCommand: VS Code がコンテナに接続したら実行

というものがあった。こっちは、

{
  "postStartCommand": "php artisan serve --host=0.0.0.0 &",
  ...

みたいな感じで実行するコマンドを書くらしい(まだ試していない)。

コメント

タイトルとURLをコピーしました