Boot2Docker: connettere al contenitore tramite LAN

Sto utilizzando Boot2Docker 1.3.0 sul mio Mac e sono abbastanza felice finora usando. Ma ora vorrei collegarmi a un contenitore http (espone la port 8080) non dalla mia macchina locale ma da un'altra macchina nella mia networking locale? Se lo faccio a livello locale uso http://192.168.59.103:8080 così sto utilizzando l'indirizzo IP dell'host docker. Questo non può funzionare per altre macchine nella mia networking locale, ma utilizzando l'indirizzo IP del mio mac non funziona neanche. Sono abbastanza sicuro che ci siano alcune soluzioni per questo problema, ma non riesco a trovare alcuna. Non può essere così duro? Quello che voglio è fare una richiesta a http://[IP-Address-of-mac]:8080 da un altro host nella mia networking locale. Penso che devo impostare alcune regole di routing sulla mia macchina locale proprio? Qualcuno mi dirà cosa fare? Grazie in anticipo.

I migliori saluti

Sascha

Devi spostare in avanti dalla casella OSX alla macchina virtuale

VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8080,tcp,,8080,,8080";

dovrebbe fare il trucco

oppure, è ansible utilizzare l'inoltro di port basato su ssh:

boot2docker ssh -L 8000:localhost:8000

vedere https://github.com/boot2docker/boot2docker/blob/master/doc/WORKAROUNDS.md

Nel tuo Mac, determinare l'indirizzo IP che utilizza sulla tua LAN locale:

 $ ifconfig | grep 192 inet 192.168.1.21 netmask 0xffffff00 broadcast 192.168.1.255 inet 192.168.59.3 netmask 0xffffff00 broadcast 192.168.59.255 

Poi port avanti:

 $ boot2docker ssh -vnNTL 192.168.1.21:8080:localhost:8080 

Ora, le richieste che entrano nel tuo Mac nella port 8080 verranno inoltrate al boot2docker Linux VM sulla port 8080. Il server docker inoltra quindi dalla port esposta (port VM 8080) alla port che il contenitore utilizza per httpd (probabilmente 80 ).

Si noti che "localhost" sopra è dal punto di vista del VM di Linux, non del Mac, perché è l'host in cui si sta eseguendo l'accesso.