2017-04-10 16 views
0

現在、ROS、Bebop_autonomy、およびOpenCVを使用してParrot Bebop2を自律的に制御するプロジェクトに取り組んでいます。ワークスペースで使用するマシンはUbuntu 14.04.5を実行しており、画像を使用してコンテナを起動できます。Docker for Windowsホストネットワークスタック使用

"docker run -it --network = host username/image"で作成しました。コンテナ内のすべてを構成した後、bebop_autonomyノードは正常であり、Bebopのネットワーク上で完全に通信できます。コンテナとホストマシンの両方でip addrを実行すると、期待通りのアドレスが表示されます。

しかし、私のWindowsマシンで実行しようとすると、ipはホストマシンとは異なり、Bebopと通信しようとするとACKパケットを受け取ることはありません。パケットが正しいipに送信されていないか、正しく転送されていないためです。

私は自分のネットワークを作成し、 "docker network create"で手動でipを設定し、それを引数としてrunコマンドに渡しましたが、動作させることができません。また、Hyper-Vマネージャーにさまざまなスイッチを作成しようとしましたが、ここ数日は何も読んだことがありません。

私はドッカーの仕組みをよく理解していますが、参考資料のほとんどはすでにLinuxを実行しているホストに関するものです。私がこれを理解できなければ、最初はドッカーを続けることはほとんど役に立たない。

Docker for Windowsが--network = hostを提供するときにDockerがLinux上で動作するのと同じように動作するように設定する方法はありますか?

答えて

0

Hyper-Vマネージャで別のネットワークを作成し、そのネットワークを外部Wi-Fiアダプタのみを使用するように設定し、そのネットワークを使用してコンテナを実行することで、目的の達成を達成しました。しかし、良い方法がある必要があります。

+0

Windowsでnetwork = hostのドッカーを実行すると、より良い解決策が見つかりましたか? – KinGBin

+0

いいえ、私はおそらくそれを行う方法があると確信していますが、私はそれを得ることができません。 – Mabecr

+0

そのネットワークを使用するためにコンテナをどのように設定しましたか? – dsaydon

関連する問題