# Pythonの公式イメージをベースに使用 3.8を指定
FROM python:3.8
# 環境変数を設定 この場合、Pythonが標準出力と標準エラーにすぐに書き込む
ENV PYTHONUNBUFFERED=1
# Docker内の作業ディレクトリを設定
WORKDIR /code
# ホストのrequirements.txtをDockerイメージの/codeにコピー
COPY requirements.txt /code/
# pipを使ってrequirements.txtに記載されているパッケージをインストール
RUN pip install -r requirements.txt
# ホストの存在しているすべてのファイルをDockerイメージの/codeにコピー
COPY . /code/
docker-compose.yml
# Docker Composeのファイルフォーマットバージョンを指定し
version: "3.9"
# このdocker-composeで定義するサービスをリスト
services:
# "web"はサービス名で、任意の名前を付ける
web:
# Dockerfileを使ってDockerイメージをビルド
build: .
# Dockerコンテナ起動後に実行されるコマンドを指定します。ここではDjangoの開発サーバを起動
command: python manage.py runserver 0.0.0.0:8000
# ホストとDockerコンテナ間でファイルを共有する設定をします。左側がホストのパス、右側がDocker内のパス
volumes:
- .:/code
# ホストとDockerコンテナ間でポートをフォワードします。左側がホストのポート、右側がDocker内のポート
ports:
- 8000:8000
requirements.txt
# Djangoと、必要な場合はその他のPythonパッケージをインストール
# バージョンは3.2.6を指定
Django==3.2.6
docker-compose run web django-admin startproject myproject .
sudo chown -R $USER:$USER .
docker-compose up
http://localhost:8000/
React
FROM node:lts
WORKDIR /usr/src/app
docker-compose.yml
version: '3.9'
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- ./app:/usr/src/app # ローカルをコンテナ内にマウント
working_dir: /usr/src/app
command: sh -c "cd react-app && yarn start"
ports:
- "3000:3000"
stdin_open: true
docker-compose run --rm app sh -c 'npx create-react-app react-app --template typescript'
sudo chown -R $USER:$USER .