3
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCode + Dockerで開発環境構築

Posted at

この記事について

DockerとVSCodeを組み合わせて簡単にPythonの開発環境を構築します。

今まで「pyenv使ってPythonのバージョン指定をして、venvで仮想環境を作って〜」みたいなことをしていました。
私の注意力が散漫なせいで環境構築に失敗したりしてローカル環境を汚してしまうということが多々ありました。

この原因は、pyenvだろうとvenvだろうとローカル環境にインストールしているから発生するんだと思います。
そこで、Dockerを利用することでそもそもローカル環境にPythonを入れない環境構築を実践してみることにしました。

必要となるソフトウェア

Docker

Dockerコマンド

最初のコマンド

cmd
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がそのまま実行されます。

次にコンテナがちゃんと動いているかどうかを確認しましょう。

cmd
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という拡張機能を使用します。
スクリーンショット 2021-06-30 0.50.01.png

Remote-ContainersをインストールするとVSCodeの左の一覧にリモートエクスプローラーが追加されていると思います。
これをクリックすると現在Dockerに存在しているコンテナの一覧が表示されます。
スクリーンショット 2021-06-30 0.51.12.png

この中から自分が使いたいコンテナを選択します。
青くなると右側に+マークのついたアイコンが表示されるのでそれをクリックします。
スクリーンショット 2021-06-30 0.53.41.png

すると新しくVSCodeが開いてフォルダーを選択できるようになります。
フォルダーを開くボタンを押して、先ほどマウントしたフォルダかあるいはここで新しくフォルダを作成して開発を進めていきましょう。
スクリーンショット 2021-06-30 0.54.45.png

3
8
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?