この記事について
DockerとVSCodeを組み合わせて簡単にPythonの開発環境を構築します。
今まで「pyenv使ってPythonのバージョン指定をして、venvで仮想環境を作って〜」みたいなことをしていました。
私の注意力が散漫なせいで環境構築に失敗したりしてローカル環境を汚してしまうということが多々ありました。
この原因は、pyenvだろうとvenvだろうとローカル環境にインストールしているから発生するんだと思います。
そこで、Dockerを利用することでそもそもローカル環境にPythonを入れない環境構築を実践してみることにしました。
必要となるソフトウェア
Dockerコマンド
最初のコマンド
docker run --name=docker_test -v=/Users/xxxx/dev:/mout -d python /bin/bash
xxxxは任意の文字列です。
「docker run」コマンドは以下のコマンドを同時にやったのと同じことです
- docker pull(ローカルにイメージがなければ)
- docker create
- docker start
オプションは以下のように指定しています。
詳細は公式ページを参照。
オプション | 説明 | 使用例 |
---|---|---|
name=xxxx | 作成するコンテナの名称 | name=python_38 |
-v=xxxx:/mout/ | マウントするリポジトリを指定 | -v={ローカルのパス}:{コンテナのパス} |
-d | コンテナをバックグラウンドで実行するオプション | バックグラウンドで実行しない場合には「-it」がよく使用される |
python | 使用するイメージを指定する。ローカル上に無い場合にはDockerHubから取得してきます | 今回はPythonですが、バージョン指定をしたい場合には「python:3.7」のように記述します |
/bin/bash | 実行時に使用するコマンドを指定しています。今回はBash。 | 指定しないとPython3がそのまま実行されます。 |
次にコンテナがちゃんと動いているかどうかを確認しましょう。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
853cdc3a6251 python "/bin/bash" 4 seconds ago Exited (0) 2 seconds ago docker_test
VSCodeの設定
今回はRemote-Containersという拡張機能を使用します。
Remote-ContainersをインストールするとVSCodeの左の一覧にリモートエクスプローラーが追加されていると思います。
これをクリックすると現在Dockerに存在しているコンテナの一覧が表示されます。
この中から自分が使いたいコンテナを選択します。
青くなると右側に+マークのついたアイコンが表示されるのでそれをクリックします。
すると新しくVSCodeが開いてフォルダーを選択できるようになります。
フォルダーを開くボタンを押して、先ほどマウントしたフォルダかあるいはここで新しくフォルダを作成して開発を進めていきましょう。