Ana makine tarafından bir Docker kapsayıcı erişim bağlantı noktası açmak mümkün müdür? Somut olarak ben ana bilgisayar üzerinde çalışan MongoDB ve RabbitMQ var ve ben kuyruk dinlemek ve (isteğe bağlı olarak) veritabanına yazmak için bir Docker kapsayıcısında bir işlem çalıştırmak istiyorum.
Ben konteynırdan ana bilgisayara (-p seçeneği ile) bir bağlantı noktası iletebileceğimi ve Docker konteynerinden dış dünyaya (yani internet) bağlanabileceğimi biliyorum ama RabbitMQ ve MongoDB portlarını açığa çıkarmak istemiyorum ev sahibinden dış dünyaya.
EDIT: bazı açıklamalar:
Starting Nmap 5.21 ( http://nmap.org ) at 2013-07-22 22:39 CEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00027s latency).
PORT STATE SERVICE
6311/tcp open unknown
joelkuiper@vps20528 ~ % docker run -i -t base /bin/bash
root@f043b4b235a7:/# apt-get install nmap
root@f043b4b235a7:/# nmap 172.16.42.1 -p 6311 # IP found via docker inspect -> gateway
Starting Nmap 6.00 ( http://nmap.org ) at 2013-07-22 20:43 UTC
Nmap scan report for 172.16.42.1
Host is up (0.000060s latency).
PORT STATE SERVICE
6311/tcp filtered unknown
MAC Address: E2:69:9C:11:42:65 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 13.31 seconds
Kapsayıcı ile herhangi bir internet bağlantısı elde etmek için bu hile yapmak zorunda kaldım: Güvenlik duvarım docker kapsayıcıdan dışarıya ağ bağlantılarını engelliyor
EDIT : Sonunda boru hattı kullanarak özel bir köprü oluşturma ve hizmetleri köprü IP'leri dinlemek zorunda gitti . MongoDB ve RabbitMQ'yu docker köprüsünde dinlemek yerine bu yaklaşıma gittim çünkü daha fazla esneklik sağlıyor.