私は読んで学んできましたドッカー、使用する Django セットアップを正しく選択しようとしています。これまでのところ、次のいずれかがあります。
Dockerfile はDocker Composeで使用されることは理解していますが、FROM
さまざまなイメージに対して複数のコマンドを含む 1 つの大きな Dockerfile にすべてを入れるのが良い方法かどうかはわかりません。
次のようないくつかの異なる画像を使用したいと思います。
uwsgi
nginx
postgres
redis
rabbitmq
celery with cron
Dockerを使用してこのタイプの環境を設定する場合のベストプラクティスについてアドバイスをお願いします。
もし参考になれば、私はMacを使っているので、ブート2ドッカー。
私が抱えていた問題のいくつかは次のとおりです:
- Docker ComposeはPython3と互換性がありません
- プロジェクトをコンテナ化したいので、1つの大きなDockerfileが理想的でない場合は、Docker Composeを使用して分割する必要があると思います。
- プロジェクトをPy2とPy3互換にすることは問題ないので、django-composeを使用するつもりです。
ベストアンサー1
Dockerファイル
Dockerfile は、ユーザーがイメージを組み立てるために呼び出すことができるコマンドを含む単純なテキスト ファイルです。
例: Dockerfile
FROM ubuntu:latest
MAINTAINER john doe
RUN apt-get update
RUN apt-get install -y python python-pip wget
RUN pip install Flask
ADD hello.py /home/hello.py
WORKDIR /home
Docker の作成
Docker の作成
マルチコンテナ Docker アプリケーションを定義および実行するためのツールです。
アプリを構成するサービスを定義し、
docker-compose.yml
それらを分離された環境で一緒に実行できるようにします。1つのコマンドを実行するだけでアプリを実行できます
docker-compose up
例: docker-compose.yml
version: "3"
services:
web:
build: .
ports:
- '5000:5000'
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}