LoginSignup
59
65

More than 5 years have passed since last update.

PyCharm + Docker + Python3.7の開発環境構築メモ

Posted at

Python3.7の環境をDocker for Macで構築

1. Docker for Macのインストール

Install Docker for Mac | Docker Documentation
Docker IDの登録もしてください。

2. docker-composeインストール

terminal
$ brew install docker-compose

3. ディレクトリ構成

app
├── docker
│   ├── Dockerfile
│   └── docker-compose.yml
├── hello.py (hello world用のスクリプト)
└── requirements.txt

4. docker-compose.ymlの作成

公式のpython3.7イメージを使用します。
DockerHub python

docker-compose.yml
version: '3'
services:
  app:
    build:
      context: ../
      dockerfile: ./docker/Dockerfile
    image: python:3.7
    volumes:
      - '../:/var/www/html'
    container_name: python
    tty: true
    working_dir: '/var/www/html'

contextやvolumesなどはディレクトリ構成に合わせて書きます。

5. Dockerfileの作成

dockerイメージをbuildする時にpip installでrequirements.txtに書かれたライブラリがインストールされる。
今はほとんど書いてないが、後々必要なライブラリが増えてくるかなと思いこの形に。
スクリーンショット 2018-10-26 14.29.21.png

Dockerfile
FROM python:3.7
ADD . /var/www/html
WORKDIR /var/www/html
RUN pip install -r ./requirements.txt

6. ビルド

docker-compose up コマンドについて
up — Docker-docs-ja 17.06.Beta ドキュメント

terminal
tomitz:~/workspace/app/docker
$ docker-compose up -d --build
Building app
Step 1/4 : FROM python:3.7
3.7: Pulling from library/python
bc9ab73e5b14: Pull complete
193a6306c92a: Pull complete
e5c3f8c317dc: Pull complete
a587a86c9dcb: Pull complete
72744d0a318b: Pull complete
3493e487c18d: Pull complete
a89e0510fd87: Pull complete
2100d277cd6f: Pull complete
...省略

7. 確認

コンテナが立ち上がったか確認

terminal
tomitz:~/workspace/app/docker
$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
e2b390cf63e4        python:3.7          "python3"           4 minutes ago       Up 4 minutes                            python

コンテナに入ってみる

terminal
tomitz:~/workspace/app/docker
$ docker exec -it python /bin/bash
root@e2b390cf63e4:/var/www/html#

PyCharmのリモートインタプリタにDockerのコンテナを設定

1.Project Interpreterの新規作成

PyCharm > Preference > Build, Execution, Deployment > Docker
からDocker for Macと接続します。

スクリーンショット 2018-10-26 14.29.21.png

するとProject InterpreterにDockerコンテナが追加されてると思うので、それを設定してApplyするだけです。

スクリーンショット 2018-10-26 14.32.12.png

2. PyCharmからコンテナに接続してみる

エディタに戻ってexecしてみます。
スクリーンショット 2018-10-26 14.34.53.png

createを押すとコマンド入力画面が出てきます。
スクリーンショット 2018-10-26 14.36.07.png

こんな感じです。
スクリーンショット 2018-10-26 14.36.22.png

あとは試しにスクリプトを実行してみたりしてください。

terminal
root@e2b390cf63e4:/var/www/html# python hello.py
Hello

まとめ

  • DockerでPython3.7の実行環境を構築した
  • Dockerコンテナ内の実行環境をPyCharmのインタプリタとして設定した
  • デバッグなどがDockarコンテナ内の環境で実行できる
59
65
0

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
59
65