httpsを使用しないJavaScriptサービスワーカーのような特定の機能がありますが、ローカルホストでのみ動作しますが、ドッカーコンテナ内でアプリを実行すると、ドッキングウィンドウマシンの、私はそのIPにlocalhost
をマッピングする方法はあり'localhost'を使用してドッカーマシンに接続する
docker-machine ip default
から私が手アドレスを使用して接続する必要がありますか?
httpsを使用しないJavaScriptサービスワーカーのような特定の機能がありますが、ローカルホストでのみ動作しますが、ドッカーコンテナ内でアプリを実行すると、ドッキングウィンドウマシンの、私はそのIPにlocalhost
をマッピングする方法はあり'localhost'を使用してドッカーマシンに接続する
docker-machine ip default
から私が手アドレスを使用して接続する必要がありますか?
ドッキングホスト上のポートをローカルマシンにマップするために、VirtualBoxポートを前方に追加できます。
お使いのドッキングウィンドウのマシンが「デフォルト」と呼ばれ、あなたがローカルホストにあなたの容器の中にポート80をマッピングすると仮定すると:8888は、次のコマンドを実行します。
vboxmanage modifyvm default --natpf1 "nameformapping,tcp,,8888,,80"
またはVMが
vboxmanage controlvm default natpf1 "nameformapping,tcp,,8888,,80"
を実行している場合を
これは、VirtualBox UIのVMの設定で行うこともできます。ここにVirtualBoxの文書がありますhttps://www.virtualbox.org/manual/ch06.html#network_nat
また、ドッカーマシンのポートにコンテナのポートをマップする必要があります。コンテナを起動するときにこれを行う必要があります(これはまた、「EXPOSE 80 「あなたのDockerfile
docker run -p 80:80 mycontainer
https://docs.docker.com/engine/reference/run/
のコマンドはまた次を参照してください。あなたのhosts
ファイルの編集https://github.com/boot2docker/boot2docker/blob/master/doc/WORKAROUNDS.md
良い答え。私は通常、他の方法で記述されたマッピングの順序を見てきました。 localhost:8888をvm:80にマッピングし、ドッカーマシンの80番ポートをコンテナ内のポート80(パケットの流れ方)にマッピングします。 – Matt
'natpfN'はフラグではなく、定位置の引数です。コマンドは 'vboxmanage controlvm default natpf1"でなければなりません。nameformapping、tcp ,, 8888、、80 "' –
良いキャッチ、それはmodifyvmのためのフラグですが、controlvmではなく...非常に混乱します。私は両方のオプションを表示する答えを更新しました –
はローカルマシンだけに見えることを引き起こしドメインに指定されたIPアドレスに直接アクセスします。したがって、docker-machine
のIPアドレスをローカルマシンのetc\hosts
ファイルに追加し、コンテナの80
ポートをdocker-machine
の80
ポートにマッピングすることができます。
例:
1)を取得ドッキングウィンドウのホストのIPアドレスあなたのマシンであることを確認し、ローカルマシン
192.168.99.100 domain.com
3)にetc/hosts
ファイルに次の行を追加します
$ docker-machine ip default
192.168.99.100
2)ドメインを解決する。
$ ping domain.com
PING domain.com (192.168.99.100): 56 data bytes
64 bytes from 192.168.99.100: icmp_seq=0 ttl=64 time=0.294 ms
64 bytes from 192.168.99.100: icmp_seq=1 ttl=64 time=0.437 ms
64 bytes from 192.168.99.100: icmp_seq=2 ttl=64 time=0.556 ms
64 bytes from 192.168.99.100: icmp_seq=3 ttl=64 time=0.270 ms
注:Windowsユーザーの場合
C:\Windows\System32\Drivers\etc\hosts
私は 'JavaScriptをWorker'に精通していないが、私は、ブラウザ上でこの実行が、いないローカルホスト –
はい、それはあなたのブラウザで実行さだと思います。しかし、 'localhost'以外のホスト名でサーバー上で実行している場合は、そのページを動作させるためにhttpsを介してページを提供する必要があります。 – bigblind
ローカルマシンの 'hosts'ファイルを編集し、ドッカーホストの' port 80'をマップするとどうなりますか? –