開発環境をDev Containerを使ってコンテナー化してみた
こんにちは、全力開発部の @konoka-iori です。 2024年に入ってからDockerとDev Containerを使った開発環境のコンテナー化に興味を持ち、実際に開発中のプロジェクトに導入してみたので、その過程で得た知見等をまとめていきたいと思います。 きっかけ 私は主にPythonで開発を行っており、Pythonではpipenvを使って仮想環境を構築し、プロジェクトごとに依存関係を管理していました。 しかし、PCごとにインストールされているPythonのバージョンが異なっており、さらに別の言語やフレームワークを使ったプロジェクトもあるため、開発環境の構築に手間がかかるようになっていました。 そこで、開発環境丸ごとコンテナー化できないものかと考えるようになり、DockerとDev Containerを使った開発環境のコンテナー化を試してみることにしました。 Dev Containerとは Dev Containerは、VS Codeの拡張機能で、開発環境をコンテナー化して開発するためのツールです。 以下のリンクからインストールできます。 Dev Containers - Visual Studio Marketplace - Extension for Visual Studio Code - Open any folder or repository inside a Docker container and take advantage of Visual Studio Code's full feature set. Dev Containerの使い方や設定方法については、以下の公式ドキュメントを参照してください。 Developing inside a Container using Visual Studio Code Remote Development - Developing inside a Container using Visual Studio Code Remote Development また、以下のZennの記事もわかりやすくて参考になります。 Dev Containerを使ってみよう - Zenn Dev Containerのよいところ 普通に Dockerfile や docker-compose.yml を使って環境構築してもよいのですが、Dev ContainerのよいところはVS Codeでの開発に特化しているところです。 たとえば、Dev Containerを通じてVS Codeの拡張機能をインストールしたり、設定を記述したりできます。 プロジェクトごとに異なる拡張機能や設定を使いたい場合に便利ですし、チーム開発においては開発環境の統一と同期がしやすくなります。 .vscode/settings.json や .vscode/extensions.json に設定を記述することでも同じようなことができますが、 devcontainer.json に記述しておくことで、コンテナー構築時に設定を自動で適用することができるので手間が省けます。 このようにVS Codeとの連携が強く、開発環境に関してはDev Containerを使ったほうが簡単で便利だと感じました。 また、DockerやDocker Composeを使ったことがなくても、Dev Containerは比較的簡単に開発環境をコンテナー化することができるので、入門として良い選択肢だと思います。...