いつの間にかVSCode の Remote - Containersが超絶パワーアップしていた件【docker client 不要】
以前、「Docker Desktop for Windows」無しで Visual Studio Codeで「Remote - Containers」を使用するために Docker client を手動ダウンロードするお話を書きましたが、それがもはや不要だそうです。
はじめに
なんとなく Remote - Containers のドキュメントを読んでいたら以下のような記述を発見しました。
If you are using a Linux or macOS SSH host, you can use the Remote - SSH and Remote - Containers extensions together. You do not even need to have a Docker client installed locally.
どういうことか
超絶ハイパワーなサーバー上でコンテナを立ち上げて開発したいと思ったこと、あると思うんですが、以前までの拡張機能では単体でそういったことが行えず、ローカルに導入したDockerクライアントを使ってリモートのDockerホストを使用するという方法を取る必要がありました。
それが今回(?)、アップデートによって Remote - SSH と組み合わせて使うと、リモートで「Reopen in Container」するとリモートでコンテナが立ち上がり開発できるようになったみたいです!すごい!!!
ちなみに、これもしかして実は昔からできて、自分の勘違いだったんじゃ???って思いましたが、Webアーカイブから見るに、以前のドキュメントにはこのような記載はなく、新規に追加された機能っぽい です。
と、テンション上がっていたんですが、この機能 2021年11月に追加されたみたいですね・・・
もっと話題になればいいのに!!!というか自分のアンテナが低すぎか!!!!
メリット
ローカルマシンにdockerクライアント不要
これはうれしいですね。VSCode入れられればどこでもコンテナ使った開発ができると。
「devcontainer使うためにdocker導入してくださいね~~~~」っていうのが必要なくなります。
docker-compose.yml 不在問題がなくなる
ローカルマシン上のdocker-compose.ymlを使用してリモートのDockerホストにコンテナを立てるとどうなるか。
リモートからは見えない位置にdocker-compose.ymlがあるので、リモートから docker-compose down
できなくなります。
それが今回、リモートホスト上のdocker-compose.ymlを使用してそのマシン上のDockerホストにコンテナを立てることになるので、そういった問題が発生しなくなります。
手元のファイルシステムをコンテナのボリュームにマウントできる
今までの方法ではdevcontainerがあるフォルダはローカルマシンで、実行環境はリモートという構成になっていたためファイルシステムをマウントすることができず、代わりにvolumeを作成してマウントし、その中にgit cloneする必要がありました。
やってみればそれの何が不便というわけでもないんですが、devcontainerとソースコードをひとまとめに管理できるというのが良いかなと思います。
終わりに
あんまりDockerクライアントのみをローカルマシンにインストールしてリモートのDockerホストを使用するという方法を取ってる人はいないのかもしれませんが、個人的にこれがビッグニュースだったので書いてみました。