LoginSignup
8
1

More than 1 year has passed since last update.

概要

  • vscode における devcontainer を使用しての開発環境構築をやっている人も多いと思います。
  • 今回は、devcontainer におけるコンテナのライフサイクルの観点で用意されているコマンドの使い分けについてをまとめていきます。

devcontainer におけるライフサイクルスクリプト

  • .devcontainer/devcontainer.json 内に devcontainer で起動されるコンテナのライフサイクルごとに実行されるコマンドを仕込むことができます。
  • 使い方としては、例えばコンテナ作成時に sh を1回限りで実行したいとか devcontainer 起動時には毎回実行してほしいといった要望があるときに用意されているコマンドを仕込んでおくと実現できます。

使い方の例

.devcontainer/devcontainer.json
{
  "name": "hoge",
  "image": "hoge",
  "postCreateCommand": "sh create.sh",
  "postStartCommand": "sh start.sh"
}
Property 説明
initializeCommand コンテナが作成される前にホストマシンで実行されます。
onCreateCommand postCreateCommand と同様にコンテナが初めて開始された直後にコンテナ内で実行されます。(devコンテナ作成時にコンテナをセットアップする3つのステップのうちの1番目)
updateContentCommand 作成プロセス中に新しいコンテンツがソースツリーで利用可能になるたびに、onCreateCommand の後にコンテナ内で実行されます。(devコンテナ作成時にコンテナをセットアップする3つのステップのうちの2番目)
postCreateCommand updateContentCommand の後に dev コンテナが初めてユーザーに割り当てられたときに実行されます。(devコンテナ作成時にコンテナをセットアップする3つのステップのうちの3番目)
postStartCommand コンテナが正常に開始されるたびに実行されます。
postAttachCommand ツールがコンテナに正常にアタッチされるたびに実行されます。

参考資料

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1