VS Code で Hyper-V + Docker Desktop for Windows
こんにちは、切り口太郎です。
Hyper-V で Docker Desktop for Windows (誠に勝手ながら DD4W と略させていただきます)を動かして、VS Code の Remote Container から操作します。
1 Windows GIT をインストールする
Microsoft から、Remote container 用の開発環境が用意されています。
この環境を使うには、Windows マシンに GIt プログラムが必要です。
GIT プログラムは、 Windows for GIT をインストールすれば利用できます。
「Download」ボタンをクリックして、インストール用パッケージをダウンロードします。
インストールしたプログラムをダブルクリックすると、インストールを開始します。
「Next」ボタンをクリックします。
インストールするコンポーネントの選択画面が表示されます。
このままで大丈夫なので、[Next] ボタンをクリックします。
GITで利用するエディターの選択です。
エディターは、リストでいくつか選択できるようになっています。
一番初めに表示される [Use Vim........] を選択します。
「Next] ボタンをクリックします。
こちらは、好みなのですが、普通にりようするのであれば真ん中の [Get from the command line and also from 3rd-party software] を選択してください。
[Next] ボタンをクリックします。
[Use the OpenSSL library] を選択して、[Next] ボタンをクリックします。
こちらも好みですが、[Checkout windows-style,.....] を選択して[Next] ボタンをクリックしてください。
[Use Min TTY (....) ] を選択してm、[Next] ボタンをクリックします。
これもデフォルトで表示されている状態で大丈夫です。[Next] ボタンをクリックします。
[Next] ボタンをクリックしてください。
やっと、[Install] ボタンが表示されました。ためらわずクリックしてください。
インストールが完了すると GIT が利用できるようになります。
2 サンプルの Docker Image を複製する
まず、Visual Studio Code Remote Development のサイト https://code.visualstudio.com/docs/remote/containers を開きます。
Quick start: Try a dev container の見出し記事の中に、Microsoft が用意してくれたサンプルの Docker イメージがありますので、こちらを複製します。
Python の開発環境を利用します。
Windows の「コマンドプロンプト」を開きます。
フォルダーを作成したほうが、ファイルの管理がしやすいと思いますので、フォルダーを作成しました。
なくても大丈夫です。
Python 開発環境を Git で複製します。
git clone https://github.com/Microsoft/vscode-remote-try-python |
複製が完了しました。
3 VS Code Remote Container で Python の開発環境を開く
VS Code で Python の開発環境を開いてみましょう!
VS Code の Windows 版インストールは、 https://kirikutitarou.blogspot.com/2019/06/4-visual-studio-code.html を参考にしてください。
VS Codeで Docker の拡張機能のインストールは、 https://kirikutitarou.blogspot.com/2019/07/vs-code-ssh.html のページの 「4 VS Code 拡張機能のインストール」を参照してください。
実際に VS Code で先ほど複製した Docker Image を開いてみます。
Control+Shift+P で、「コマンドパレット」をオープンします。
コマンドパレットで [remote container] と入力します。
[Remote-Containers: Open Folder in container...] をクリックします。
フォルダーの選択画面が表示されます。
先ほど Git で複製した、[vs-code-remote-try-python] のフォルダーを選択して「Open] ボタンをクリックします。
VS Code の画面の右下に Docker Image の Build 中の表示が通知されます。
数分時間がかかるので、忍耐強く待ちます。
Sharing を有効にしていると、Docker から share file の設定でパスワード入力を求められるダイアログが表示されます。
Windows のログインパスワードを入力します。
入力したらOKボタンをクリックします。
数分すると、特に「終わったよ!」というメッセージもなく、通知メッセージが消えて Docker に接続できています
右下のフッター領域に、開いたコンテナーの名前がひっそりと、表示されています。
これで、VS Code で Docker Container へ接続されました。
4 VS Code Remote Container の動作確認
いろいろ確認してみましょう!
Control*Shift+@ で、ターミナルが開きます。
ターミナルをを見ると、 Windows の CMD ターミナルではなく、Linux の bash ターミナルになっています。
これが、WSL (Windows Subsystem for Linux という、Windows のサブシステムとして Linux OS を動作させる技術のようです。
ディレクトリーリストをとってみると、エクスプローラーに表示しているファイルと同じものが表示されます。
Docker イメージとして登録しているか確認します。
「コマンドプロンプト」を開きます。
docker images と Docker のコマンドを入力します。
vsc-vscode-remote-try-python-0b0fc253a90a1ad39d632b7c09cf69b1 がDocker Image として登録されています。
次にコンテナーとして動作しているか確認します。
docker ps とコマンドを入力します。
コンテナー活動中が確認できました。
実行してみます。
このサンプルプログラムは、flask による web アプリケーションのようです。
app.py エディターパネルに表示して、Control+F5 で実行してみます。
デバッグコンソールに起動メッセージが表示されました。
port 9000 でリスナーが起動しているようなので、ブラウザーで接続します。
なんか、かわいいメッセージが表示されました。
これで動いているのか確認します。
app.py のソースは、こうなっています。
#----------------------------------------------------------------------------------------- # Copyright (c) Microsoft Corporation. All rights reserved. # Licensed under the MIT License. See LICENSE in the project root for license information. #----------------------------------------------------------------------------------------- from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return app.send_static_file("index.html")
index.html を表示するようになっています。
<html> <head> <title>VS Code Rocks!</title> </head> <body> <h1>VS Code can do that?</h1> <p>Yes it can!</p> </body> </html>
ちゃんと動いているようです。
次回は、この開発環境を使用して、Docker と VS Code を利用した開発がどの程度快適なのか検証してみます。
コメント
コメントを投稿