Docker Ip Failover

Ho alcuni problemi per configurare correttamente un contenitore docker con un failover ip.

Non sono molto bravo in sysadmin, ma ho configurato correttamente il mio failover ip e vorrei legarlo con il mio contenitore docker.

Non so come fare, non sono in grado di trovare risorse che lo spiegano.

Quando vado al mio ip principale (server Debian 195.xxx) dal web posso vederlo eseguire (apache2 pagina predefinita) e quando vado al failover ip dal web vedo anche la pagina predefinita apache2) dal mio server Debian , a questo punto credo che sia tutto okay.

Così, quando eseguo:

docker run -d --name ubuntu_01 -p 62.xxx:9000:80 abdev/ubuntu tail -f /dev/null 

il 62.xxx che è il mio failover ip, dopo che vado al failover ip dal web, ma c'è ancora la mia pagina predefinita (apache2 Debian, invece Ubuntu che è il mio contenitore docker).

Che cosa ho frainteso? Tutte le risorse, gli indizi o l'aiuto sono benvenuti.

Mi dispiace per il mio cattivo inglese, ho cercato di fare del mio meglio.

Ecco la tua networking:

diagramma di rete

Puoi avere solo un host Docker per ora, ma il punto di avere un failover IP è quello di poter passare il traffico a un host diverso senza rendere gli utenti modificare l'indirizzo IP di destinazione.

Supponiamo di avere due host docker identici, tranne per l'indirizzo IP della loro interface di networking principale ( eth0 ).

Si desidera eseguire il contenitore docker su entrambi gli host e si desidera che il server web apache in esecuzione all'interno dei propri contenitori risponda per i 2 indirizzi IP di ciascun host.

Sull'ospite A , avviare il contenitore docker run -p 9000:80 ... con il docker run -p 9000:80 ...

Sull'ospitatore B , avviare anche il contenitore docker run -p 9000:80 ... con il docker run -p 9000:80 ...


Ora, quando nel pannello di amministrazione del provider di hosting, assegnate il failover IP 62.1.2.3 all'host di A , potrai:

  • host di query Un server web con http://62.1.2.3:9000/
  • host di query Un server web con http://192.0.0.17:9000/
  • query host B web server con http://192.0.0.47:9000/

Più tardi, quando nel pannello di amministrazione del provider di hosting, assegnare il failover IP 62.1.2.3 all'host B , sarà ansible:

  • interrogare server web B host con http://62.1.2.3:9000/
  • host di query Un server web con http://192.0.0.17:9000/
  • query host B web server con http://192.0.0.47:9000/

È importnte che anche i server web con 192.0.0.17 e 192.0.0.47 indirizzi IP siano alless in grado di testare i server Web in esecuzione su entrambi gli host, indipendentemente dall'impostazione del failover IP.

Grazie mille @ thomasleveil che rispondono effettivamente a rispondere alla mia domanda.

Avrei pensato che sarebbe stato più complicato, ma finalmente l'ho fatto.

Per riprendere, ho installato il mio IPFO qualcosa di simile:

 source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 195.xxx netmask 255.255.255.0 gateway 195.xxx auto eth0:0 iface eth0:0 inet static address 62.xxx netmask 255.255.255.255 

Esegui il mio contenitore con:

 $ docker run -it --name ubuntu_01 -p 9000:80 docker/box tail -f /dev/null 

Posso accedere al mio contenitore dal web dal server principale IP e IPFO.

Penso che questa sia una configuration di base, ma è un lavoro!

Vorrei votare la tua risposta, ma stackoverflow vietato il voto su un nuovo membro.

Grazie ancora per il tuo tempo 🙂