2016-02-23 18 views
9

Bir CentOS docker ana bilgisayarında bir CentOS docker kabı var. Docker kapsayıcı docker run -d --net=host -p 8777:8777 ceilometer:1.x'u çalıştırmak için bu komutu kullandığımda, docker kabı ana makinenin IP'sini alır ancak bağlantı noktaları atanmamış.Docker konteyneri, docker çalıştırma komutunda --net = host belirtildiğinde bağlantı noktalarını göstermiyor

"--net = host" docker run -d -p 8777:8777 ceilometer:1.x docker olmadan aynı komutu çalıştırırsam bağlantı noktalarını farklı bir IP ile gösterir. Docker versiyonu 1.10.1'dir. Docker kabının, açıkta bulunan portları olan ana makine ile aynı IP'ye sahip olmasını istiyorum. Ayrıca DockerfileEXPOSE 8777 yönergesinde de belirtmiştim ama docker run komutunda "--net = host" belirtildiğinde kullanılmaz.

+0

Burada soru nedir? – cantSleepNow

+0

"Bağlantı noktası atanmamış": Bunu nasıl belirliyorsunuz? – VonC

+0

Docker'ın netstat tarafından hangi bağlantı noktalarını kullandığını belirlersiniz veya docker portunu kullanabilirsiniz arevur

cevap

10

Docker sürümü 1.10.1'dir. Docker kabının, açıkta bulunan bağlantı noktalarına sahip ana bilgisayarla aynı ipi olmasını istiyorum.

--net=host'u kullandığınızda, kapsayıcıya ana bilgisayar ağ yığınını kullanmasını söyler. Bu nedenle, ana makine (ağ yığınıyla ilgili olduğu sürece) sunucusunu bağlantı noktasını görüntüleyemezsiniz.

docker inspect, açık bağlantı noktalarını göstermeyebilir, ancak bir bağlantı noktasında dinleme uygulamanız varsa, ana bilgisayarda çalışıyormuş gibi kullanılabilir.

+1

Bu portlar netstat yaptıktan sonra görünmüyor mu? Bunu test etmek için: docker run -it --rm --net konteyneri: cass1 poklet/cassandra cqlsh Ve "ExposedPorts" u görmüyorsunuz, ancak netstat hiçbir şey göstermiyor – kisna

+0

Evet ve evet. İncelemede portu görmüyorsunuz. Ama eğer çalışırsa ve işleminiz çalışırsa netstat veya lsof portunu gösterir sudo lsof -i | grep LISTEN' -> 'nod 1799 199 12u IPv6 247434980 0t0 TCP *: 3443 (LISTEN)' –

+0

ve docker-compose ile çalışırsam ne olur? Eksiksiz portları kaldırmayı denedim :-( – ItayB