はじめに
かなりズボラにVSCode+Docker環境を構築した方法を書いておきます。
コンテキストとして私は初学者で、将来アプリケーションをクラウドでデプロイすることも考え、Dockerでの開発環境を整えることにしました。
Dockerfile やYamlを手でいじることなく、通常の仮想環境と同じような使用感でDockerを動かせています。
Windows10環境です。
具体的な手順
流れ
Microsoft learnのページに従う
→ なんかVSCode+Dockerでpython環境動くようになる
→ 好きな拡張機能を入れる
→ 好きなライブラリをpipで入れる
→ pip-chillしてrequirements.txtに書いておく
0.準備
- Docker Desktopのインストール
- Visual Studio Codeのインストール
- pythonでのpip やrequirements.txtの使い方を理解する
1.Microsoft learn のページを参考にdev container諸々の導入
下記のMicrosoft learnのコースが非常に親切で、これに従うと特に何も理解していなくてもVSCode上でDockerのPython環境ができてしまいます。devcontainerすごい!
このコースに従って操作すると、下記が得られている状態となります。
- なんかよくわからないがVSCodeでDocker上のPythonが動かせる状態
- 拡張機能の入れ方とReopenの手順の理解
- リビルドの手順の理解
2. ライブラリを管理する方法を覚える
1.を最後まで行ったなら、postCreateCommand によってリビルド時にrequirements.txtを参照してライブラリをインストールするように設定できているはずです。ということは、あとはこの環境でrequirements.txtをいじる要領だけ覚えておけばうまく運用できそうです。私はライブラリをインストールした後にpip-chillを使う方法を好んで使っています。
- まずpip-chillをいれます。
$ pip install pip-chill
- つぎにpipで好きなライブラリを入れます。
- その後pip-chillを実行したら結果をrequirements.txtに転記します。
これで、入れたライブラリはリビルド時にインストールされます。
ここまでやると、VSCodeを立ち上げたらDocker環境であることをほとんど意識せず普通の仮想環境みたいに使える状態になっているかと思います。
3.使う
後は普通にコードかいて、ターミナルからコードを実行したりします。$ python hogehoge.py
devcontainerのおかげでなんかほとんどDockerの知識を使わずに環境ができてしまいました。何か後でしわ寄せを食らったりするのでしょうか(デプロイのときとか苦労したりするのかな)
まあとにかくこうしてDocker上で動くPython開発環境ができたので、楽しく使わせてもらっています。
おすすめの記事
この記事の操作では必ずしも必要ではないですが、Dockerについて理解を深めるのにはこの記事がよかったです。
この記事の環境構築の前に2部まで読みました。一般的な「Dockerを簡単に解説!」的な記事とは一線を画す丁寧さで、イメージとコンテナの関係、それぞれのコマンドが何を意味しているのか等について、とても参考になりました。
このあとDockerに関する理解をさらに深めてもう少し応用的な使い方もできるようになりたいです。