Visual Studio Code
拡張機能「Visual Studio Code Remote - Containers」を利用することでDockerコンテナ内での開発が可能になる。
Docker Desktop 2.0+ あるいはDocker CE/EE 18.06+がインストールされたホストマシンからコンテナ内の開発環境を操作できる。ホストマシンにプログラミング言語実行環境をインストールしなくてもコンテナ内でコーディング支援・デバッグ等が利用可能になる。
コンテナを利用する場合、いくつかの方法が存在する。そのうちの1つはGitリポジトリから直接コンテナを生成する方法である。開発環境コンテナとしての設定がdevcontainer.jsonに記述されたGitリポジトリは、VS Code上で明示的なClone無しにコンテナ化が可能である。この「Repositoryコンテナ」生成時にはGitリポジトリがDockerのVolumesへ保存される(bind mountsではない。参考: Docker#永続化)。
この機能はコンテナ内にVS Code Serverを建てることで実現されている。ローカルでVS Codeを実行するのと同様にコンテナ内でVS Code(Server)が立ち上がっており(/root/.vscode-server)、クライアント(ローカル)側でおこなったVS Code UI操作をコンテナへ送信することで透過的にコンテナ内開発を行うことができる。