VSCodeのRemote(Container) プラグインが便利だったので、VM上に開発環境を構築してみた。
Windows VM上には素直にDockerをインストールできない(ゲストOS上ではHyper Vオプションが無効)。
そこで、Linux VMでリモートデスクトップを使えるようにして、開発環境を構築してみた。
1. VM準備
- Cent OS 7でVMを作成する。
(Cent OS 8で後続の手順で環境構築すると、セットアップ直後はRDPでつながるが、再起動後にVMにSSHもRDPも接続できなくなる問題が発生したのでやり直した)
2. Remote Desktopをセットアップ
- VMにSSH接続して、Rootユーザーに切り替え。
sudo su -
以下サイトを参考に、RDPのパッケージをインストールする。WindowsのRDPを使ってクラウド上のLinuxインスタンスに接続する - Qiita
RDP用ユーザーを作成。必要に応じてsudoリストに追加。
$ useradd sampleuser
$ passwd sampleuser
$ usermod -aG wheel sampleuser
- (お好みで)デフォルトの見た目をGNOMEクラシックからGNOMEに変更
echo 'DESKTOP="GNOME"' >> /etc/sysconfig/desktop
systemctl restart gdm.service
3. リモートデスクトップでVMに接続
リモートデスクトップアプリを使ってVMに接続する。
4. Visual Studio Code をインストール
- 公式サイトからrmpファイルをダウンロードしてyumでインストール
cd ~/path/to/download/
sudo yum install code-1.42.0-1580986751.el7.x86_64.rpm
- Remote(Conteiner)プラグインをインストールする VSCode上で「Remote(Conteiner)」プラグインを検索して、インストールする。
5. Dockerのインストール
- 以下のサイトを参考にDockerをインストールする
- Dockerグループにユーザーを追加する
$ usermod -aG docker sampleuser
6. VS CodeでDocker実行
- 「リモートエクスプローラー」タブ内の「+」ボタンをクリック
- 「Open Folder in Container」 を選択し、ブランクフォルダーを選択
- 「Python 3」コンテナーを選択して実行
- Python 3 コードが実行できるコンテナーが起動する
参考:コンテナ内のgitでsshキー認証が失敗する場合
- コンテナのterminalで一度 git fetch
- hostに接続するかの質問に一度yesと答えると、治る。