/note/tech

Pythonで開発する時のベースになるDockerileとdocker-compose.yaml

↑のアップデート

Dockerfile

以前のものと変更点はない。

FROM ubuntu:18.04

ENV DEBIAN_FRONTEND=noninteractive

WORKDIR /app

RUN apt-get update && apt-get update -y

RUN apt-get install -y  tzdata git python3 python3-dev python3-venv python3-pip

RUN pip3 install pipenv

docker-compose.yaml

同時に立ち上げるコンテナが増えた時に対応が簡単なので、立ち上げるコンテナがひとつだけでもdocker-composeを使う。

コンテナ起動時にアプリケーションを動かす(テストサーバとか)場合は、docker-compose.yamlのentrypointに書けばいいんじゃないかな。

version: '3.3'
services:
    app:
        build:
            context: .
            dockerfile: Dockerfile
        ports:
            - 8080:8080
        env_file: ./.env
        volumes:
            - .:/app

.env

アプリケーション固有の設定(DBの接続情報とかAPIのキーとか)もこれに書く(リポジトリに保存するかは考えどころ)。

とはいえ、以下の設定に関しては最早環境の設定に近いのでDockerfileに書いたほうがいいような気がしないでもない。

TZ=Asia/Tokyo
LC_ALL=C.UTF-8
LANG=C.UTF-8
PIPENV_VENV_IN_PROJECT=true