Django

Django & Docker

Dockerfile、docker-compose、マルチステージビルド、ボリューム、ネットワーク、開発環境と本番環境

20 面接問題·
Senior
1

本番環境のDjangoアプリケーションに推奨されるベースイメージはどれですか?

回答

python:3.x-slimイメージは、サイズの小ささと互換性のバランスが取れているため推奨されます。完全なイメージの不要な依存関係を避けつつ、必須ライブラリを含んでいます。Alpineイメージはより軽量ですが、コンパイルされた一部のPythonライブラリ(psycopg2など)との互換性の問題を引き起こす可能性があります。

2

Djangoアプリケーションにおけるマルチステージビルドの主な利点は何ですか?

回答

マルチステージビルドは、ビルド環境(すべてのコンパイルツールを含む)と実行環境を分離することで、最終イメージのサイズを大幅に削減します。依存関係は最初のステージでコンパイルされ、その後必要なファイルだけが最終イメージにコピーされ、ビルドツール、一時ファイル、キャッシュは除外されます。

3

docker-compose.ymlで、DjangoコンテナがPostgreSQLが接続を受け付ける準備ができるまで待機することをどのように保証しますか?

回答

depends_onディレクティブだけではコンテナの起動のみが保証され、サービスの可用性は保証されません。PostgreSQLが実際に準備できるまで待機するには、wait-for-it.shスクリプトやdockerize、またはhealthcheck付きのservice_healthy条件を使用する必要があります。このアプローチにより、Djangoアプリケーション起動時の接続エラーを防げます。

4

DjangoアプリケーションのDockerfileにおけるCOPYとADDの違いは何ですか?

5

Python依存関係のインストール時にDockerレイヤーのキャッシュを最適化するにはどうすればよいですか?

+17 面接問題

次の面接に向けてDjangoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める