DevContainerでサクッと使える実行環境を用意しよう:Pythonを例に紹介

はじめに

こんにちは、アプリチームの遠藤です。今回はvscodeのDevContainerの機能を用いてPythonの実行環境を用意するところまでをご紹介します。

Dev Containerの記事に関しては、SIOS TECH.LABでは武井さんの導入がカンタンで開発効率爆上げなVisual Studio Code拡張機能のご紹介や龍ちゃんのNest.js『だけ』をdevcontainerで構築するReactをdevcontainerで構築するまででも紹介しています。特に武井さんの記事は深いところまでDevContainerの解説しているので、合わせて読んでいただくと理解が深まると思います。

今回の記事ではサクッとを使える実行環境を意識してDockerfileやdocker-compose.ymlを作成せずに実行環境を用意する方法をメインにします。

DevContainerとは?

DevContainerは、Visual Studio Codeの拡張機能の一つで、開発環境をDockerコンテナとして構築・管理することができるツールです。

具体的には、ソフトウェア開発に必要な言語ランタイムや開発ツール、環境設定等を.devcotainer内に定義します。そして、その定義に基づいてDockerコンテナを作成・起動し、その中でコード編集やデバッグ、テスト、ビルドなどの開発作業を行うことができます。

DevContainerを導入することによるメリットは、以下のような点が挙げられます。

1.環境構築の簡易化 : DevContainerを使用すれば、開発に必要なツールや環境設定をDockerイメージとして一元管理することができます。これにより、新しく開発環境をセットアップする際の手間や時間を大幅に削減できます。

2.環境の再現性と移植性の向上 : DevContainerを使えば、開発環境をDockerコンテナとして定義するため、同じ環境をいつでも再現したり、他のマシンに移植したりすることが容易になります。

3.チームでの作業の効率化 : プロジェクトごとにDevContainerを設定して共有することで、新たなメンバーがプロジェクトに参加した際の環境構築の手間を省くことができます。また、全員が同じ環境で作業することで、環境の違いによって起こる問題を避けることができます。

4.複数のプロジェクトで異なる開発環境を簡単に切り替えられる : DevContainerを使用すれば、プロジェクトごとに異なる開発環境を持つことが可能です。これにより、プロジェクト間で開発環境を切り替える際の手間が省けます。

事前準備

Dockerをインストールする

DevContainerとは?でも説明しましたが、DevContaienrはDockerを前提としている技術なので、使用するためにDockerが必要となります。

以下のリンクよりDocker Desktopをダウンロードし、インストールを行いましょう。

Docker Desktop: The #1 Containerization Tool for Developers | Docker

拡張機能をインストールする

Visual Studio CodeでDevContainerを利用するために、拡張機能のタブから**Remote Development**をインストールしましょう。

Pythonの開発環境を作る

インストールが完了したら、アプリを作成したいディレクトリに移動して、Visual Studio Codeを開きます。

開いたら左下の><のマークをクリックします。

クリックするとVisual Studio Code上部にメニューが出てくるので、メニューの中のコンテナーで再度開くをクリックします。

検索欄にPythonと入力しましょう。

Python 3を選択します。

今回はversion 3.12を選択します。

OKボタンを押しましょう。

OKを押すと開発コンテナーに移動し、コンテナが作成され始めます。作成が完了すると、.devcontainerディレクトリと.githubディレクトリが作成されます。これでPythonの環境構築が完了しました。

実際にPythonがインストールされているか確認してみましょう。

左上のハンバーガーメニュー > ターミナル > 新しいターミナル または Ctrl + Shift + @ を押して、ターミナルを立ち上げます。

ターミナルにpython –versionやpip –versionと入力すると、Pythonの実行環境が用意できたことがわかります。

終わりに

今回は、Python単体の実行環境を作成するところまでをご紹介しましたが、Python + PostgreSQLやNode.js + TypeScriptなど複合された環境についても実装することができます。

この方法だとVisual Studio Codeを操作するだけで実行環境を用意することができるので、Dockerfile周りに詳しく無い方でも準備しやすい点や、とりあえず検証用の環境を用意したいみたいな方にはおすすめの方法になっています。一方で、自分でDockerfileを用意する方法に比べるとカスタマイズし辛い点がデメリットとして挙げられるので、ちょっとした開発や検証用途には十分役立つ一方、大規模な開発や特殊な環境を要する場合には、やはり自分でDockerfileを作成し、細かい設定を行うことが求められるでしょう。

最後までお読みいただき、ありがとうございました。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

1人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です