sql >> データベース >  >> RDS >> PostgreSQL

DjangoとPostgresqlをDockerとリンクする

    Dockerfile Djangoイメージはポート5432を公開しないでください そのイメージから作成されたコンテナではPostgresqlサーバーは実行されないため:

    FROM python:3-onbuild
    EXPOSE 8000
    CMD ["/bin/bash"]
    

    次に、Djangoコンテナを実行しているときに

    --link my-postgres:my-postgres

    データベースの設定が正しくありません。

    Djangoコンテナ内:127.0.0.1は、ポート5432でリッスンしているサービスを実行していないDjangoコンテナを指します。

    したがって、settings.pyファイルは次のようになります。

      DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.postgresql_psycopg2',
           'NAME': 'mydb',                      
           'USER': 'postgres',
           'PASSWORD': '',
           'HOST': 'my-postgres',                      
           'PORT': '5432',                      
        }
      }
    

    Djangoコンテナを次のコマンドで実行すると:

    sudo docker run --link my-postgres:db -v /home/mpmsp/project/ezdict/ezbkend:/usr/src/app -name my-app -i -t my-app

    次に、 settings.py ファイルは次のようにする必要があります:

      DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.postgresql_psycopg2',
           'NAME': 'mydb',                      
           'USER': 'postgres',
           'PASSWORD': '',
           'HOST': 'db',                      
           'PORT': '5432',                      
        }
      }
    


    1. 配列をシリアル化してデータベースに格納することのポイントは何ですか?

    2. 2017より前のSQLServerのString_agg

    3. SqlParameterの名前/値コンストラクターが0をnullとして扱うのはなぜですか?

    4. カスタムフォームビルダーのデータベース設計(および結果の保存)