Imposta più Ubuntu Container utilizzando Docker

Requisiti:

installazione di istanze docker basate su Ubuntu 14.04 where 1 istanza agisce come un gateway per il traffico di networking a tutti gli altri …

Crea un file di compilatore docker per una tale impostazione …

Tutte queste istanze hanno bisogno di una propria networking dedicata docker e il ponte docker predefinito …

Creato un Dockerfile

FROM ubuntu:14.04 # Set environment variables. ENV HOME /root # Define working directory. WORKDIR /root # Define default command. CMD ["/bin/bash"] 

window mobile-compose.yml

 version: '3' services: main: image: testenginer_main tty: true first: image: testenginer_main tty: true 

where testenginer_main è un file di image che ho generato utilizzando l'installazione di Dockerfile
Ho controllato entrambi l'istanza sono in esecuzione

Il problema è che voglio avere 2 Network 1 che si collega alla networking ponte predefinita del docker e la seconda è collegata ad altri contenitori in modo che altri contenitori possano accedere alla networking principale attraverso la networking 1

Edit-1

Se hai bisogno di accesso a Internet in networking principale, devi prima due reti

 docker network create --subnet=172.19.0.0/16 internet docker network create --internal --subnet 10.1.1.0/24 no-internet 

Per quanto sopra si può guardare a più dettagli su

Limitare l'accesso a Internet – Docker Container

Adesso puoi aggiornare la composizione come segue

 version: '3' services: main: image: testenginer_main tty: true networks: - internet - no-internet first: image: testenginer_main tty: true networks: - no-internet networks: no-internet: external: true internet: external: true 

Ora, se si esegue i contenitori vedrà che il main ha accesso a Internet mentre first non lo fa

 $ docker-compose ps Name Command State Ports -------------------------------------- ub_first_1 /bin/bash Up ub_main_1 /bin/bash Up $ docker-compose exec main apt update Get:1 http://security.ubuntu.com/ubuntu xenial-security InRelease [102 kB] ^C $ docker-compose exec first apt update Err:1 http://archive.ubuntu.com/ubuntu xenial InRelease Temporary failure resolving 'archive.ubuntu.com' Err:2 http://security.ubuntu.com/ubuntu xenial-security InRelease Temporary failure resolving 'security.ubuntu.com' .... W: Some index files failed to download. They have been ignored, or old ones used instead. 

Puoi anche rendere each compose creare la propria networking con le opzioni