OSXのポート8000で実行されているサーバーがあるとします。 Dockerコンテナはlocalhost:8000
経由でどのようにアクセスできますか?コンテナ内のアプリが制御できないため、ホスト名も変更できません。
ホストマシンのネットワークにアクセスするためにコンテナに--net="Host"
を使用することに関するこれまでの議論を読みました。ただし、私はOSXを使用しており、DockerはVM内で実行されるため、--net="Host"
を使用してDockerコンテナからlocalhostがVM私の実機ではありません。
次に、 ポート転送の回避策 を試してみました:VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8000,tcp,,8000,,8000";
は役に立ちませんでした。
どんな提案も大歓迎です。
Palimpestorの答えのおかげで、私はそれを理解しました:
--net="Host"
の代わりに--add-Host="localhost:10.0.2.2"
を使用します
確かに:
--add-Host...
は/ etc/hostsにlocalhost 10.0.2.2
を追加しています( reference )注:boot2dockerでNATアダプターを設定する必要がありますVM VirtualBox設定(GUIで設定しましたが、CLIがわかりません) 。
--net="Host"
で実行する代わりに、--add-Host="localhost:192.168.59.3"
(boot2dockerホストIP)を試してください。