私はドッキングウィンドウ-コンを経由して実行されている2個のコンテナがあります。ドッカーのnginxプロキシに別のポートを使用するにはどうすればよいですか?
:私のカスタムdefault.conf
がどのように見える
#!/usr/bin/env bash
cp /etc/myapp/nginx/default.conf /etc/nginx/conf.d/default.conf
nginx -g 'daemon off;'
:entrypoint.sh
からマッピングされたボリュームから新しいdefault.conf
で
version: '3'
services:
web:
image: me/web
container_name: web
nginx:
image: me/nginx
container_name: nginx
ports:
- '80:80'
volumes:
- ../nginx:/etc/myapp/nginx
私のnginxのコンテナのコピーを
server {
listen 80;
server_name my.website.com;
location/{
proxy_pass http://web/;
}
}
この設定では、すべて正常に動作します。 docker-compose
で開始した後、http://my.website.comに移動し、web
コンテナインスタンスに正しくアクセスできます。
しかし、今私は、例えば81
として、デフォルト80
以外に私のポートを変更したいん:
services:
..
nginx:
image: me/nginx
container_name: nginx
ports:
- '81:80'
..
は今、これはもはや機能します。私はhttp://my.website.com:81を訪れるたびに、私は得る:
このサイトに到達することはできません
my.website.comが接続を拒否しました。
ERR_CONNECTION_REFUSED
が、他の奇妙な部分は、私はむしろmy.website.com
よりlocalhost
を使用する場合、すべてがポート81例にだけで正常に動作していることである:
server {
listen 80;
server_name localhost;
location/{
proxy_pass http://web/;
}
}
。
私はここで間違っていますか?どのように私はlocalhost
(私のドメイン)と私のweb
コンテナに80以外の別のポートにプロキシ以外のnginxを設定するのですか?ポート81がmy.website.comすなわち上のファイアウォールルールを確認する開いていることを
などの場所にあるポート81は、ファイアウォールのルールがなどの場所にあるmy.website.com'すなわち 'に開いているあなたは確かにあります – keith
@keithうわー、それだった。私はポートを内部でオープンしていましたが、外部ネットワーク層でもポートを開くのを忘れました。脳全体のおなら。お気軽に回答として投稿してください。希望があれば受け入れます。 – kspearrin
OK、私は答えを追加しました:-) – keith