Docker – network

Zdefiniowane sieci

 # docker network ls

Sterowniki: none (bez sieci), host (korzysta z ustawień hosta), bridge (izolowane sieci w ramach hosta), overlay (połączenia między hostami)

// Uruchamiamy kontener (obraz) bez sieci

# docker run  --net=none <obraz>     

Opcje:
--net - nazwa jednej z sieci domyślnych lub utworzonych przez usera

Uruchomienie kontenera z siecią hosta – najszybsza, niebezpieczna

# docker run  --net=host <busybox>     // korzysta z sieci hosta, wszystko jest widoczne bez potrzeby mapowania portów

Uruchomienie kontenera w trybie bridge – domyślna, najczęściej stosowane

# docker run  --net=bridge <busybox>     // domyślna

# ifconfig bridge0  - mapowanie widać w hoście

Szczegóły połączenia sieciowego wskazanego kontenera (lub wszystkich)

 $ docker inspect [identyfikator lub nazwa kontenera] | grep IPAddress

Utworzenie własnej sieci (np. niestandardowej) – z domyślnym sterownikiem bridge (backend to nadana nazwa sieci – łatwiej się będzie odwołać)

# docker network create backend

Opcje:
-d, --driver - sterownik dockera lub zewnętrzny

Uruchomienie kontenera (obrazu ubuntu) z siecią (domyślną) o nazwie bridge

 # docker run -itd --net=bridge ubuntu

Przykład

# docker network create testNetwork 

# docker run -itd --name=container1 --net=testNetwork busybox 
# docker run -it  --name=container2 --net=testNetwork busybox 

 Ctrl+P i Ctrl+Q   - rozłączenie z sesji kontenera

# docker network inspect testNetwork 

# docker network disconnect testNetwork container1