はじめに
はじめに Dockerで開発環境を構築する際に、pythonのように最初から実行環境が用意されているものもあれば、自分でインストールを行う必要があるものもあります。 また、開発プロジェクトや案件によって必要な機能は[…]
はじめに これまでDockerで仮想環境を作成して開発環境を簡単に構築する方法をまとめてきましたが、実際のサービスとしてプログラミング開発を行うとなった場合にコンテナ一つで進めるのはまれです。 例えば、このブログは[…]
ファイルはコンテナとローカルPCのフォルダ共有を行うことでVSCodeで編集することができますが、実行環境がコンテナ内にある以上、パッケージを追加した際の依存関係であったり、デバッグ実行ができないという欠点があります。
そこで、今回はVSCodeの拡張機能である「Dev Containers」を利用してコンテナにリモートアクセスし、ローカルPCのファイルを操作するのと同じ感覚で開発が行える方法を説明します。
Windows10
Docker Desktop
VSCode
Dockerについて
そもそものDockerについて、インストール方法を以下の記事で紹介しています。
はじめに プログラミングを行う際に実行環境を構築する必要がありますが、普段利用しているローカルPCに直接インストールしてしまっては、トライアンドエラーを繰り返すうちに不要なアプリケーションが積み重なり動作が不安定にな[…]
VSCodeについて
はじめに 皆さんはプログラミングを行う際にエディターは何を使っていますでしょうか? 秀丸エディタ?、NotePad++?、サクラエディタ?、それともメモ帳でしょうか? Linuxの人はviやvim、emacsなど[…]
拡張機能「Dev Containers」のインストール
VSCodeを起動したら、拡張機能から「Dev Containers」を検索しインストールします。
リモート開発環境の準備
拡張機能がインストールできたら、リモート開発環境を作成していきます。
今回は「dev」というフォルダを作成しその中に必要なファイルおよびフォルダを追加していきました。
構成は以下のようになっています。
dev/
|-- .devcontainer/
| |-- devcontainer.json
| `-- Dockerfile
`-- app/
`-- Hello.py
「.devcontainer」フォルダを作成し、その中に「devcontainer.json」というファイルを追加します。
これが、DevContainersの設定ファイルとなります。
作成するコンテナの定義はDockerfileに記述しています。今回はdevcontainer.jsonと同じ階層に配置しています。
「app」には実行するpythonのプログラムコードが記載されています。
devcontainer.jsonの設定
DevContainersを利用するための設定を記述していきます。
{
"name": "Python dev",
// Dockerfileの配置場所を指定
"dockerFile": "Dockerfile",
// リモート先コンテナ内のVS Codeにインストールする拡張機能
"extensions": ["ms-python.python"]
}
Dockerfileの場所と、VSCodeにインストールする拡張機能を指定します。
なぜ、改めて拡張機能を指定する必要があるかというと、このDevContainersを利用すると作成したリモートコンテナ内にVSCodeをインストールし、そこにローカルPCのVSCodeからリモートアクセスする形となります。
そのため、devcontainer.jsonで改めて拡張機能や設定を指定してあげる必要があります。逆に指定しないと素のVSCodeがインストールされるので注意が必要です。
Dockerfileの設定
作成するコンテナ用のDockerfileを記述します。今回はPythonで確認するため以下の通りとなります。
FROM python:3.11
Pythonプログラムの準備
Pythonの実行を確認するためのスクリプトは以下です。
print("Hello World!")
リモート開発環境の作成
ここまででリモート開発を行うための準備が完了しました。
それでは、VSCodeからリモート開発環境を作成していきます。
コンテナの起動
VSCodeの左下にある緑のアイコンをクリックするとDevContainersのメニューが表示されます。
メニュー内の「Open Folder in Container…」をクリックします。
フォルダ選択画面が開くので、プロジェクトのフォルダを選択します。今回でいうと「dev」フォルダが対象となります。
フォルダを選択するとDockerfileの内容に沿ってコンテナのビルドが開始されます。
右下のリンクをクリックするとビルド状況を確認することができます。
コンテナのビルドが完了すると利用開始できます。
VSCodeの右側にある+(プラス)をクリックするとコンテナのコマンドラインを使用できます。
Docker Desktopからもコンテナが追加され起動していることが確認できます。
Pythonプログラムの実行
リモートコンテナが構築でき、Pythonの実行が可能となりました。
Pythonのバージョンを確認してみます。
python -V
Python 3.11.0
3.11.0がインストールされていることが確認できます。
続いて、Pythonスクリプトのファイルが存在することを確認してみます。
ls
app
ls ./app/
Hello.py
appディレクトリ内にHello.pyのスクリプトファイルが存在することが確認できました。
それではこのスクリプトファイルを実行します。
cd app/
python Hello.py
Hello World!
無事、pythonスクリプトの実行が確認できました。
Pythonプログラムのデバッグ実行
今度はデバッグ実行についても確認してみます。
VSCodeのデバッグを行いたい行の行数左をクリックすることで、以下のように●赤丸が付きます。
●赤丸をつけた箇所で実行が止まり、デバッグ実行できていることが確認できます。
右上のアイコンをクリックすることでステップインやステップオーバーなども利用することができます。
まとめ
出版社:技術評論社
出版社:日経BP
出版社:インプレス