Dockerfile やベースイメージの指定¶
Dockerfile の指定¶
JSON ファイルを使い、 Dev Environment を定義する Dockerfile を指定します。これを .docker
フォルダの中に入れ、さらに config.json
ファイルへの追加が必要です。例:
{
"dockerfile": "Dockerfile.devenv"
}
次に、 Dockerfile.devenv
内に必要となる依存家計を定義します。
いくつかのイメージや Dockerfile に root 以外のユーザを含まれていますが、多くのベースイメージと Dockerfile には含まれていません。幸いにも、 vscode という名前の root 以外のユーザを追加可能です。 Docker CLI や docker compose
のような Docker ツールを含む場合、 Dockerfile.devenv
内で、 docker
グループ内に vscode
ユーザを含める必要があります。
# syntax=docker/dockerfile:1
FROM <your base image>
RUN useradd -s /bin/bash -m vscode \
&& groupadd docker \
&& usermod -aG docker vscode
USER vscode
ベースイメージの指定¶
既に構築したイメージがある場合、 Dev Environment でベースイメージとして定義できます。これを .docker
フォルダの中に入れ、さらに config.json
ファイルへの追加が必要です。たとえば、 Jekyll ベースイメージを使う場合は、次の内容を追加します:
{
"image": "jekyll/jekyll"
}
注釈
この設定は、ベータリリースのみユーザのブロックが解除されています。今後のリリースでは、シングルおよびマルチコンテナアプリケーションの設定が、 Compose ベースの実装に移行する可能性があります。
参考
- Specify a Dockerfile or base image