Django Dockerfileの作成
アプリ用の軽量なレイヤー構成イメージを作成します
「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 /appPython の出力を整える
コンテナでは 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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Django Dockerfileの作成
- PostgresとRedisを使うdocker-compose
- Entrypoints、Migrations、collectstatic
- 本番イメージのベストプラクティス