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

Docker化されたアプリからDockerのpostgresサーバーに接続できませんでした

    ユーザー定義のブリッジネットワーキングを利用するだけです。まず、Dockerのさまざまなタイプのネットワークの簡単な説明を読んで知識を活用します:https://docs.docker.com/network/bridge/

    次に、独自のネットワークを定義します

    docker network create foo
    

    次に、接続されたコンテナを実行します このネットワークへ:

    docker run --rm --env-file /path/to/variables -d --network foo django_app:test
    docker run --rm -d ... --network foo postgres:alpine ...
    

    両方のコマンドで--network fooに注意してください 。また、必要ありません この場合、ポートを公開するには、ユーザー定義のネットワーク内で自動的に実行されます:

    同じユーザー定義のブリッジネットワークに接続されたコンテナは、すべてのポートを相互に自動的に公開し、外部へのポートは公開しません。これにより、コンテナ化されたアプリケーションは、誤って外の世界へのアクセスを開くことなく、相互に簡単に通信できます。

    第三に、--name barを使用して、コンテナに人間が読める形式のホスト名を付けます。

    docker run ... --network foo --name my-django django_app:test ...
    docker run ... --network foo --name my-postgres postgres:alpine ...
    

    そして最後に接続文字列を修正します-localhostから変更します my-postgresのようなコンテナ名に :

    ...
    POSTGRES_HOST=my-postgres
    ...
    


    1. SQLiteデータベースをExcelに変換するAndroidプログラム

    2. GETDATE()SQL Server(T-SQL)の例

    3. JDBCを使用してストアドプロシージャから*すべて*を取り戻す方法

    4. SQLServerDBのすべてのインデックスとインデックス列のリスト