問題タブ [jwilder-nginx-proxy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Nginx-Proxy を使用した Docker では、MySQL 接続アクセスが拒否されましたが、50% の確率でしかありませんでした
複数のプロジェクトで実行するローカル開発環境を取得しようとしています。かなりいじくり回した後、私はこのプロジェクトに出くわし、それを自分のプロジェクトに適応させ始めました。各プロジェクトは、mysql コンテナーと php コンテナー (php-apache
画像から) の 2 つのコンテナーで構成されます。
はnginx-proxy
、ネットワーク上で実行される別個のコンテナーです。プロジェクトの名前を少し変更したので、ここではdev-router_default
.
私のプロジェクトは次のcompose.yml
ようになります。
これらのdockerfiles
フォルダにあるのは、現時点では基本的なイメージです。それらは存在するだけなので、後でスケールアップできます。
すべてが非常にスムーズに機能します。DB にアクセスでき、html および php ページをロードできます。でも。ページをロードするたびに。このエラーが発生する可能性は 50% です。
ページロードの残りの 50% は問題なく動作します。これは間違ったパスワードの問題でも何でもありません。設定はすべて同じままですが、どういうわけか一方の接続が拒否され、もう一方の接続が通過します。
私nginx-proxy
のトラフィックが半分の時間で正しい mysql コンテナーにリダイレクトされていないという直感があります。しかし、電話がどこに送信されているかを見つけることができないようです。ページをロードすると、コンテナ CLI に php_1 ロードのログ ポップアップが表示されます。しかし、mysql_1 は黙っています。
この不一致の原因は何ですか?
複数の仮想ホスト/ドメインを同時に利用する docker で開発環境をセットアップする簡単な方法はありますか?
複数のデータベースにアクセスできるようにする必要があり (すべてのプロジェクトに今すぐ通過する特定のポートを与えることでこれを行います)、各プロジェクトに固有の URL をdocument_root
.
python - Docker Compose Nginx-Proxy と Docker-Alpine-Python-Flask を理解する
Docker を使用する際に問題が発生します。私の問題は、docker-compose とこのライブラリを使用するときにリバース プロキシを理解することです https://github.com/jwilder/nginx-proxy
だから私はここのような1つのDockerfileを持っています:
私が走っているとき
そして私は走っています
------------ そして私の問題は、割り当てられたポート内で nginx-proxy ------------------ を使用するときの理解です
1 docker ネットワーク名 reverse-proxy を作成し、jwilder/nginx-proxy を実行します
ここに私の docker-compose.yml
次に実行します
そして docker ps を出力します
curl エラーコード 503 Service Temporary UnAvailable で URL を呼び出すと、
それから私はここで立ち往生しています...
ありがとう
docker - Docker nginx プロキシ、ldap および phpldapadmin を開く - nginx を介して LDAP 管理者にアクセスできない
私の環境に設定ミスがあると思いますので、ご意見を伺いたいです。それを解決するためのアドバイスやヘルプは大歓迎です。
説明: 仮想ホスト名で jwilder/nginx-proxy コンテナーを使用して LDAP 管理者にアクセスする際に問題が発生しますが、公開されたポートを使用して実際の Linux ホスト名を介してアクセスすると正常に動作します。アクセスは、有効なワイルドカード証明書を使用した HTTPS で行われます。
環境: Linux (CentOS 7) で docker を実行しています。jwilder/nginx-proxy を使用して 1 つの docker コンテナーをセットアップし、さらに 2 つの docker コンテナーをセットアップしたいと考えています。したがって、ポートを公開せずに、ldapadmin へのアクセスは nginx を介して行われます。
これまでの手順:
1. コンテナの作成 - nginx プロキシ
2. コンテナーの作成 - ldap
「192.168.168.168」の代わりに、実際のパブリック IP アドレスです
次に、LDAPの検索に成功しました
3. コンテナー phpldapadmin を作成します。
最後に、nginx プロキシ コンテナーを再起動して、ldap と ldapadmin を nginx 構成に自動的に追加します。
docker 再起動プロキシ
次に、この公開ポートを取得します。
画像ポート名
osixia/phpldapadmin:0.7.2 80/tcp、389/tcp、443/tcp ldapadmin
オシクシア/openldap:1.2.2 389/tcp、0.0.0.0:636->636/tcp ldap
Linux サーバーのホスト名は dev.company.com であり、パブリック アドレスがあり、https://dev.company.com:6443で ldapadmin にアクセスできますが、URL: ldap からはアクセスできません。 .company.com、ポートを公開せずに。Linux ホスト自体で ldap.company.com.key に ping を実行できません。
注: Jenkins に対しても同じことを行いました。
docker run -d --rm -u root -v /var/run/docker.sock:/var/run/docker.sock -v jenkins-data:/var/jenkins_home -v "$HOME":/home -e VIRTUAL_HOST=jenkins.company.com -e VIRTUAL_PORT=8080 --name nj ジェンキンス
そしてアーティファクトの場合:
docker run --name artifact -d -v /var/opt/jfrog/artifactory:/var/opt/jfrog/artifactory -e VIRTUAL_HOST=artifactory.company.com -e VIRTUAL_PORT=8081 artifactory-oss
これら2つの両方について、ping可能なURLがあり、パブリックIPアドレスが返され、ブラウザーを介して正常にアクセスできます:jenkins.company.comおよびartifactory.company.com
Linux ホスト自体で ldap.company.com.key に ping を実行できません。