Docker で Python 開発環境
tech python docker
Lastmod: 2020-04-19

ウチでは外部からのアクセスは外部公開サーバに全て飛ばされていて,slack botの開発をしようとした時に,その外部公開サーバ上で動作させるしかないが,pythonの色々なモジュールとか入れると環境がグチャグチャになるのでそういうことはしたくない.
pyenvでユーザローカルに入れる手もあるが,dockerを多様して外部サーバを動作させている我が家のホストであるので,dockerコンテナを一つくらい増やした方が楽なんじゃないかと思い,pythonを動作させるだけのコンテナを作ってみることにしたのであった.

Dockerfile

./env/Dockerfileはこんなかんじ.必要なパッケージはRUN&&でつなげる.

FROM python:3-buster

RUN pip install -U pip

CMD [ "/bin/bash" ]

docker-compose.yml

./docker-compose.ymlはこんなかんじ.作業ディレクトリをホームディレクトリにマウントし,そこで実行しちゃう.

version: '3'

services:
    python:
        build: env
        user: "1000:1000"
        volumes:
            - /etc/localtime:/etc/localtime:ro
            - /etc/passwd:/etc/passwd:ro
            - /etc/group:/etc/group:ro
            - /workspace:/home/user
        tty: true
        working_dir: /home/user

実行コマンド

あとは,サーバ上でファイルを編集し,実行する時はこれで環境に入る.
tmuxか何かで画面分割するのがオススメ.

docker-compose run --rm python
comments powered by Disqus