Docker: VSCode上で完結


Docker操作をVSCode上で完結させる環境構築

やること

  • Dockerのインストール(参考記事参照)

  • VSCodeのインストール(参考記事参照)

  • VSCodeでの拡張機能および設定(本記事で説明していく)

  • 使いたいDockerfileの準備

※ここでは,VSCodeでの設定のみを記述する.

(理由:DockerのインストールもVSCodeのインストールも記述するほどでもなく,参考記事に従えばできる.)

VSCodeでの拡張機能および設定

Docker操作のために追加する拡張機能

  • Docker
    • Dockerのイメージなどを管理できる

  • Remote Container
    • 起動させたコンテナを遠隔操作(アクセス)できる

これらが完了すると,左下に><のようなマークが出現する

コンテナへのアクセス手順

  1. VSCodeを起動
  2. Dockerのリポジトリ(フォルダ)をVSCode上に開く
  3. VSCodeの左下にある><マークをクリック(以下のような状態になる)

4.reopen in Containerを選択

初めてDockerをVSCodeで扱う場合のみ以下のようにして設定していく必要がある.

From a predefined container configuration definition...

これを選択.

Show All Definitions...

を選択してすべての候補を参照

Docker from Docker

たくさんの候補の中からこれを選択.

Install zsh

を外す.ここの設定は個々で構わないが,個人的には特にzshが必要とは思わない.

あとは,OKを押すだけ.

細かな設定

先ほどまでの設定でとりあえず,DockerをVSCode上で扱うことができるようにはなったが,せっかくVSCodeを使う以上,便利な拡張機能をDocker上でも使いたい.

  • 注意
    • ホストでインストールしている拡張機能すべてがDocker上での拡張機能に反映される訳ではない

    • Dockerは立ち上げるたびに,拡張機能がデフォルト設定に戻されて,毎回インストールが必要となる

これらの面倒さをなくすために,先ほどの設定によって生成された設定ファイルの中にあらかじめ,起動時にインストールしておく拡張機能を記述しておく.

  • 設定ファイルは.devcontainerフォルダのdevcontainer.jsonファイルである.

赤で示したところに,インストールしておきたい拡張機能のIDを記述する.IDは拡張機能インストールする画面で確認できる.

赤枠で示したところがIDである.VSCodeを日本語化しているとIDではなく識別子と表記されている.

例えば,Pythonの拡張機能をインストールしておくとすると,以下のように追加する.

"extensions": [
    "ms-python.python"
]

この変更を加えると,リビルドが必要となる.このリビルドはDockerfileのビルドもおこなうものであるため,Dockerfile変更時には使うことになる.

リビルドについてもクリック作業でできる.

動作テスト

前回の記事でもテストしたが,ここでもRviz(ROS1)の起動を動作テストとする.