hidemium's blog

日々学んだことをアウトプットする。

Visual Studio Codeのdevcontainerを設定する

開発環境として、Visual Studio Codeでdevcontainerのセットアップ方法についてまとめてみました。

構成

Dockerのインストール (Ubuntu 20.04側)

まずは、前回の記事のVisual Studio CodeのRemote Developmentの設定を行っておきます。

hidemium.hatenablog.com

devcontainerを利用するために、Dockerをインストールしておきます。

dockerコマンドをsudoなしで実行できるように設定を行っておきます。

$  sudo apt install docker docker-compose
$ sudo groupadd docker
$ sudo gpasswd -a $USER docker
$ sudo systemctl restart docker

作業用のディレクトリの用意 (Ubuntu 20.04側)

Ubuntu 20.04側で作業用ディレクトリを用意します。

$ mkdir <project directory>
$ cd <project directory>

devcontainerの設定方法について、MSがサンプルコードを公開しています。

GitHub - microsoft/vscode-remote-try-python: Python sample project for trying out the VS Code Remote - Containers extension

上記を参考に、devcontainerに必要なディレクトリとファイルを用意していきます。

$ mkdir .devcontainer
$ cd .devcontainer
$ vi devcontainer.json
$ vi Dockerfile
$ cd ..
$ vi requirements.txt
$ tree -a
├── .devcontainer
│   ├── devcontainer.json
│   └── Dockerfile
├── app.py
└── requirements.txt

devcontainer.jsonの中で、Dockerfile、pythonのlint設定、Visual Studio Code拡張機能のpylance、requirements.txtの指定などを行っています。開発環境の構成を統一して管理できるというメリットがあります。

devcontainerの接続

Visual Studio CodeのRemote DevelopmentでUbuntu 20.04へ接続を行います。

右下のグリーンのボタンをクリックすると、メニューが表示されるため、 Reopen in Container をクリックします。

コンテナのビルドが実行し、開発環境が用意されます。

ターミナルの画面に以下のように表示され、コンテナ内で操作ができるようになります。

vscode ➜ /workspaces/vscode-container $ 

起動したコンテナは、コンテナホスト側のディレクトリがマウントされており、コンテナ内で作成したファイルはコンテナホスト側に保存されます。

設定は以上となります。