地方在住IT系ニート

bkds

VSCode DevContainerを使い始めたメモ

DevContainerとは

DevContainer(Development Container)は、VSCodeの拡張機能を使ってDocker コンテナの中で開発を行う仕組みです。

プロジェクトごとに開発環境をコンテナで定義できるため、以下のメリットがあります。

前提環境

基本的な構成

プロジェクトルートに .devcontainer/devcontainer.json を作成します。

{
  "name": "my-dev-env",
  "image": "mcr.microsoft.com/devcontainers/python:3.11",
  "customizations": {
    "vscode": {
      "extensions": [
        "ms-python.python",
        "ms-python.black-formatter"
      ]
    }
  },
  "postCreateCommand": "pip install -r requirements.txt"
}

各項目の説明です。

キー説明
nameコンテナの名前
imageベースイメージ
customizations.vscode.extensionsコンテナ内に自動インストールするVSCode拡張機能
postCreateCommandコンテナ作成後に実行するコマンド

使い方

  1. VSCodeでプロジェクトを開く
  2. コマンドパレット(Ctrl+Shift+P)を開く
  3. Dev Containers: Reopen in Container を選択
  4. コンテナのビルドが完了するとコンテナ内で開発できる状態になる

ハマったポイント

ベースイメージに入っていないパッケージがある

Microsoftの公式イメージはミニマル構成のため、必要なパッケージが入っていないことがあります。その場合は、独自のDockerfileを用意する方法があります。

Dockerfileを使う場合の例:

FROM mcr.microsoft.com/devcontainers/python:3.11
RUN apt-get update && apt-get install -y \
    (必要なパッケージ名)

devcontainer.json 側は image の代わりに dockerfile を指定します。

{
  "name": "my-dev-env",
  "dockerfile": "Dockerfile"
}

まとめ

DevContainerを使うことで開発環境をコード化でき、ホストマシンを汚さずに済むのが大きなメリットでした。 最初のイメージ選定ができれば、あとはスムーズに使えます。

<-- Back to home
にほんブログ村 IT技術ブログ IT技術メモへ PVアクセスランキング にほんブログ村