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

https://docs.docker.com/desktop/dev-environments/specify/