2017-06-22 14 views
2

ドッカーで2つのコンテナを通信したい、私はテストにnetcatを使っている。最初に私はDockefileを作成しました:ドッカーで2つのコンテナをネットキャットと通信する

FROM ubuntu 
WORKDIR /root 
RUN apt-get update && apt-get install netcat iputils-ping -y 

とした画像を追加しました:

docker build . -t ubuntu_netcat 

また、私は新しいネットワークを作成しました:

docker network create --driver bridge nettest 

その後、私は二つの容器を実行します。

docker run --net=nettest --expose=8080 -it --name pc1 ubuntu_netcat 
docker run --net=nettest --link=pc1 -it --name pc2 ubuntu_netcat 

最初にコンテナ(p

nc -vlk 8080 

そして、私は実行する)第二の容器(PC2からそれと通信することを期待:C1)私はnetcatをコマンドでポート8080をリッスン

nc -v pc1 8080 

しかし、私はちょうど接続が拒否されました:

[email protected]:~# nc -v pc1 8080 
pc1.nettest [172.18.0.2] 8080 (?) : Connection refused 

私はドッカーのドキュメントを見てきましたが、すべて正しいと思われます。実際には、コンテナ間のpingを正常に実行できるため、他のコンテナに到達することができますが、ポートに問題があります。 ¿何が間違っていますか?それが通常行うようにUbuntuの上netcatのこのバージョンは聞いていないように見えます

おかげ

+0

スタックオーバーフローは、プログラミングや開発の質問のためのサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

5

。ポートには-pを指定する必要があります(ただし、オプションにはポートが位置オプションとして指定されているように見えます)。

あなたnetcat listenerコマンドは次のようになります。

nc -vlkp 8080 
+0

あなたは正しいです!私はそれがドッカーの設定問題だと思っていましたが、問題はnetcatバージョンでした。ありがとうございました! – Eidansoft

+0

netcat-openbsdを使用して、これと他の同様の問題を回避する –

関連する問題