ナガモト の blog

Full Cycle Developerを目指すエンジニアが有用そうな技術記事や、ポエムのようなよしなしごとを投稿するブログです。

Visual Studio CodeからDockerで作ったコンテナ内を操作する

少し前までは、Dockerで開発環境を作る場合 「ホストマシンとコンテナのディレクトリやファイルをsyncさせてコンテナに反映されるのを待ってから動作確認。」 みたいな煩わしさがありましたが、今ではほぼストレスなくコンテナに変更を加えることができます。

今回は私が一番わかりやすいと思っているVisual Studio Code(以下VSCode)でコンテナ内のファイルを直接編集する方法を紹介します。

概要

  1. VSCodeアップデート
  2. Dockerエクステンションをインストール
  3. 起動中のコンテナを選択し、attach

簡単すぎて説明しなくてもいい気がするほどです。

VSCodeアップデート

VSCodeは頻繁に更新されますし、Remote Development機能などは最近追加された機能なのでアップデートしておきましょう。 公式サイトはこちら。

code.visualstudio.com

Dockerエクステンションをインストール

Microsoftが提供しているDocker利用を便利にするエクステンションです。Preview版であることは理解の上でインストールしましょう。

marketplace.visualstudio.com

起動中のコンテナを選択し、attach

次の画像の通り、GUIから直感的な操作でコンテナへ接続できます。

f:id:ngmt83:20190830113235p:plain
VSCode操作画面例

何がすごいのか

何よりこの簡便さが素晴らしいです。

Dockerのエクステンションは何もせずともイメージやコンテナの一覧を表示してくれますし、接続もGUI操作でよしなに接続コマンドを実行してくれます。VSCodeでコンテナを編集するために必要な準備もattach時に勝手にやってくれます。*1

気をつけることはDockerエクステンションがまだPreview版であることと、Alpineなど一部未対応のOSがあることです。*2

AlpineについてはVSCode Insider版を利用すると同様のことができます。

code.visualstudio.com

きっと近いうちに安定版VSCodeも対応するでしょうし、どんどんアップデートされるVSCodeから目が離せませんね。

みなさんもVSCodeで快適に便利に開発を行いましょう!

*1:どういうコマンドを実行しているかはVSCodeのTerminalから確認できますし、勉強になります。

*2:2019/08/30 時点。参考: https://code.visualstudio.com/docs/remote/faq#_what-linux-packages-or-libraries-need-to-be-installed-on-a-host-to-use-remote-development