0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker DesktopとVSCodeを利用した開発環境のパフォーマンスを上げる方法

Posted at

背景

開発環境をDockerコンテナで立ち上げ、VSCodeの拡張機能 (Dev Containers) でDockerコンテナに接続していた。
ソースコードはホストからDockerコンテナにマウントしていた。
この環境だとソースコードの読み込みやDockerコンテナにインストールした拡張機能の読み込みが極端に遅くなってしまう問題があった。
この問題を解消できたため記事に残す。

前提

  • ホストOS: Windows
  • Docker Desktop: WSL版
  • VSCodeのDev Containers拡張機能を使って開発環境を立ち上げている

原因

WindowsとLinuxのファイルシステム差異によるものだった。
ソースコードは背景に書いたとおりである。ホスト(Windowsのファイルシステム)からDockerコンテナ(Linuxのファイルシステム)にマウントしていた。
Dockerコンテナにインストールした拡張機能についても同様である(多分)。Dockerコンテナにインストールした拡張機能は、ホストのマウント元に保存されてるみたい(Dev Containersのdocs見たけど情報を見つけられなかった)。

解消法

ファイルシステムを統一してしまえば解決する。
MicrosoftとDockerがdocsで推奨している。

構成図

パフォーマンス改善後の開発環境の構成図を以下に示す。
名称未設定ファイル.drawio.png

手順

  1. VSCodeにRemote Development拡張機能を導入する
  2. WSLにUbuntuディストリビューションをインストールする
    1. https://learn.microsoft.com/ja-jp/windows/wsl/install#change-the-default-linux-distribution-installed
  3. Docker DesktopがUbuntuで動くように設定する
    1. https://docs.docker.com/desktop/wsl/
  4. Ubuntuのコマンドラインを開く
  5. 必要に応じてGitやSSHの設定をする
  6. VSCodeで開きたいディレクトリ (.devcontainerがあるディレクトリ)に移動する
  7. code .を実行する(VSCodeのWSL拡張機能でカレントディレクトリが開かれる)
  8. 開かれたVSCodeのコマンドパレットでRebuild and Reopen in Containerを選択する
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?