【環境構築】Docker container内部にVS Codeで入って作業する方法

背景

  • docker container内部に入ってコマンド操作をしたい時がある。
  • docker-compose exec [service name] /bin/shを使用して入るという方法は煩雑。
  • docker container上でvs codeを起動しているような状態で作業したい。

目標

  • docker container上でvs codeを起動しているような状態を実現する。

どうやって実現するのか?

  • vs codeの拡張機能「VS Code Remote Containers」を使用する。

VS Code Remote Containersとは?

  • ローカル側のvscodeをコンテナに接続できる拡張機能
  • 画像の通り、コンテナ上でvscodeを起動しているような形で使用できる。

01_0031_vscode_remote.png
(画像引用:https://code.visualstudio.com/docs/remote/containers)

前提環境

  • macOS 11.4 (20F71)
  • arm64(M1)
  • Docker Desktop
  • Visual Studio Code
  • VS Code拡張機能 VS Code Remote Containers

「VS Code Remote Containers」の有効化

  • vs codeの拡張機能の「Remote - Containers」をインストールして有効化します。
    02_0031_vscode_remote.png

入りたいdocker containerを立ち上げておく

「Remote Containers」を使用してコンテナ内部に入る

03_0031_vscode_remote.png
04_0031_vscode_remote.png
05_0031_vscode_remote.png

小ネタ:コンテナのルートディレクトリでフォルダを開く方法

  • 接続は上記の操作で完了なので、あとは焼くなり煮るなり好きに使うと良い。
  • ただ、個人的に、コンテナ内部のルートディレクトリでフォルダを開いた状態にしたいことが多いのでそのやり方だけ紹介する。
    06_0031_vscode_remote.png
    07_0031_vscode_remote.png

参考資料

Developing inside a Container using Visual Studio Code Remote Development
Developing inside a Container using Visual Studio Code Remote Development
DockerとVS Code Remote Containersを用いたフロントエンド開発環境構築

Qiita記事

【環境構築】Docker container内部にVS Codeで入って作業する方法 - Qiita
背景docker container内部に入ってコマンド操作をしたい時がある。docker-compose exec /bin/shを使用して入るという方法は煩雑。docker container上でvs codeを起動しているような状態で作業したい…