仮想マシン/DockerコンテナをホストするDebianマシンがあります。外部コンピュータからコンテナにアクセスしたいがアクセスする必要がある単一ポートではありません。コンテナはWebサイトをホストしているため、「site.com/home」などの他のページに要求できる必要があります。 「または「site.com/home」または「site.com/home」または「site.com/home」または「site.com/home」.com/index」の場合は、コンピュータの他のポートにアクセスできる必要があります。します。たとえば、コンテナのIPアドレス192.49.11.1:1234
は192.49.11.1
どこにありますか(どのように取得したのかわかりません)。
私のネットワークは、Debianシステム、外部(Windows 10)システム、およびルーターで構成されています。私はルーターのルーティングテーブルにすべてのリクエストを192.49.11.1
Debianシステムにルーティングするように指示するレコードを追加し、そのリクエストをコンテナにルーティングする方法を知っているのであれば、私が望むものを得ると思います。
問題はこれをどのように実行し、これが可能なのかです。
答え1
コンテナがウェブサイトをホストしているため
-p
これを行う標準的な方法は、オプション、Docker Compose YAMLファイルのエントリ、または使用するすべてのエントリを使用して、コンテナのポートをDockerホストのポートにマッピングすることです。複数のポートがある場合はすべてマッピングしてください。
私のネットワークは、Debianシステム、外部(Windows 10)システム、およびルーターで構成されています。
したがって、Debianシステムをネットワークの一部として作成する必要があります。あなたは私たちに言わなかったどんな種類VM(WSL? Hyper-V?)用です。使用しているすべての種類の仮想マシンのドキュメントをGoogleで見つけます。 (WSLを使用するのはかなり難しいですが、回避策があります。)
192.49.11.1に対するすべてのリクエストをDebianシステムにルーティングするために、ルータのルーティングテーブルにレコードを追加したかどうか疑問に思います。
コンテナのIPに対して要求しません(最初にそのアドレスがない可能性があります)。 Debian ホストの IP に要求でき、WSL へのポート転送も必要に応じて Windows ホストに要求できます。