この記事では、Django for Windowsで開発環境を設定する問題をどのように解決したかを説明します。
次のバンドルが使用されます。
1)Docker-machine
2)PyCharm
Dockerマシンで:
1)PostgreSQL
2)PostgreSQLのデータコンテナー
3)Redis
4)そして、Djangoの実際のアプリケーション。
まず、システムにDocker-machineをインストールする必要があります。 これを行うには、公式Webサイトdocs.docker.com/engine/installation/windowsからダウンロードします。 VirtulaBoxも必要です。
インストール後、Dockerクイックスタートターミナルがシステムに表示されます。 それを実行する必要があり、docker-machineを起動します。これにより、すべての対話が将来も継続されます。
docker-machineが起動すると、このターミナルを介してdockerコマンドを実行できるようになります。
PostgreSQLとRedisを起動し、docker-machineの起動時にこれらのコンテナをさらに自動起動するには、ファイルdocker-compose.ymlを作成します。
postgres: restart: always image: postgres:latest volumes_from: - data ports: - "5432:5432" data: restart: always image: postgres:latest volumes: - /var/lib/postgresql command: "true" redis: restart: always image: redis:latest ports: - "6379:6379"
ターミナルから、このファイルがあるディレクトリに移動し、 docker-compose up -dコマンドを実行します。
コンテナが起動したら、 docker psコマンドで確認できます。 このコマンドは次のように表示されます。
これで、たとえばpgadminを使用してコンピューターから、192.168.99.100:5432のアドレスでPostgreSQLに接続できます。
PyCharmを使用してDjangoアプリケーション自体を起動します。 ただし、最初に、作成されたプロジェクトのルートで、次の内容のファイルDockerfileを作成します。
FROM django:onbuild
また、もちろん外部依存関係が使用されていない限り、requirements.txtファイルはプロジェクトのルートにある必要があります。
requirements.txtファイルの例:
Django==1.9.4 psycopg2==2.6.1 gunicorn==19.4.5 redis==2.10.5 django-celery==3.1.17
ターミナルで、 docker build -t container_name path_to_docker_fileコマンドを実行します。
基本イメージがダウンロードされ、requirements.txtファイルからのすべての依存関係がインストールされるため、最初の起動には非常に長い時間がかかります。
アプリケーションを含むイメージを作成したら、PyCharmのプロジェクトが必要で、リモートインタープリターを構成します。 構成するには、設定->プロジェクト:project_name->プロジェクトインタープリターに移動します。 インタープリターの選択行で、「 リモートの追加 」を選択します。
次に、IDEでパッケージが表示されない場合にPyCharmを再起動する必要がある場合は、すべての変更を確認する必要があります。
そして、プロジェクトを実行できます。 デフォルトでは、 192.168.99.100 :8000で起動されます
必要に応じて、PyCharmからリモートmanage.pyを実行するか、ドッカーを介してコンテナーに移動し、そこから必要なコマンドを実行できます。