Django Academy · レッスン

Django Dockerfileの作成

アプリ用の軽量なレイヤー構成イメージを作成します

レッスン 1/413 ステップ

「Django Dockerfileの作成」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。

Dockerfile を使う理由

Dockerfile はアプリケーションを移植可能なイメージに構築するレシピです。ノートパソコンでも任意のサーバーでも同じように実行できます。🐳

ベースイメージを選ぶ

すべての Dockerfile は FROM から始めます。スリムな Python ベースを選び、イメージを小さく高速に配布できるようにします。

FROM python:3.12-slim

作業ディレクトリを設定する

WORKDIR を使ってコードを置くフォルダーを設定します。これにより、後続のコマンドを予測しやすいクリーンな場所から実行できます。

WORKDIR /app

Python の出力を整える

コンテナでは 2 つの ENV フラグが役立ちます。バッファーなしのログと .pyc ファイルを作らない設定により、出力を即座に表示し、イメージを整理できます。

ENV PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1

最初に requirements をコピーする

コードより先に requirements.txt をコピーします。Docker はこのレイヤーをキャッシュするため、コードだけを変更した場合はインストールが省略されます。

COPY requirements.txt .

依存関係をインストールする

pip install を --no-cache-dir 付きで実行し、パッケージキャッシュが最終イメージを無駄に大きくしないようにします。

RUN pip install --no-cache-dir -r requirements.txt

プロジェクトをコピーする

次にプロジェクトの残りを COPY します。インストールの後に行うことで、キャッシュされた依存関係のレイヤーを再利用できます。

COPY . .

ポートを公開する

EXPOSE を使って、アプリケーションが待ち受けるポートを記述します。これは読者やツールへのヒントであり、ファイアウォールではありません。

EXPOSE 8000

起動コマンドを定義する

CMD で終了します。これはコンテナの起動時にアプリケーションを起動するデフォルトコマンドです。

CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]

.dockerignore を追加する

.dockerignore を使うと、venv や .git などの不要なものをビルドコンテキストから除外でき、ビルドが速くなり、イメージも軽くなります。

.git
__pycache__
.venv
*.sqlite3

イメージをビルドする

タグを付けて docker build を実行し、Dockerfile をどこでも実行できる再利用可能な名前付きイメージに変換します。

docker build -t myapp:latest .

簡単な確認

Docker のレイヤーキャッシュとビルド順序について考えてみましょう。

振り返り

Django の Dockerfile を作成しました。スリムなベースを選び、環境を設定し、キャッシュのためにコードより先に依存関係をインストールし、最後に CMD を定義します。1 つのレシピで、どこでも実行できます。🎉

無料で開始

AI チューターと学ぶ Python — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
30
レッスン
120

よくある質問

「Django Dockerfileの作成」レッスンは無料ですか?

はい。「Django Dockerfileの作成」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。

「Django Dockerfileの作成」で何を学びますか?

アプリ用の軽量なレイヤー構成イメージを作成します ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Django Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Django Dockerfileの作成」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDjango Academyレッスンでコードを書いて実行できますか?

はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Django Dockerfileの作成
  2. PostgresとRedisを使うdocker-compose
  3. Entrypoints、Migrations、collectstatic
  4. 本番イメージのベストプラクティス
← Django Academyに戻る