2015-03-13 16 views

risposta

2

Ecco non una funzione Docker.

Ma è facile aggiungere un altro livello di riferimento indiretto: esporre una porta del contenitore sul proprio host e quindi eseguire un'istanza di nginx o una regola FORWARD del firewall che mappa le porte locali desiderate su quella porta condivisa da docker.

5

Docker non ha un meccanismo per modificare le porte pubblicate di un contenitore una volta avviato. Quando si pubblica un porto, accadono due cose:

  • Docker crea iptables regole nella tabella nat che reindirizzano il traffico alla porta "pubblico" al contenitore.
  • Docker avvia un servizio proxy in ascolto su quella porta per gestire il traffico generato localmente.

Mentre si potrebbe, in teoria, aggiornare manualmente le regole del firewall per rendere il servizio a una nuova porta, che non sarebbe in grado di separare il proxy Docker e sarebbe quindi in grado di avviare nuovi servizi utilizzando tale "pubblica "porto.

Il tuo migliore linea di azione è semplicemente quello di eliminare il contenitore e ridistribuire, o affidarsi a una sorta di proxy front-end per gestire il reindirizzamento invece di usare meccanismo di pubblicazione porto di Docker.

Problemi correlati