Celem było utworzenie kontenerów dla uczniów technikum, aby każdy miał oddzielny adres IP. Docelowo w kontenerach instalowane będą serwery WWW oraz DNS (domeny kierujące na ten serwer WWW). Chciałem, aby symulowały one VPSy (dostęp po SSH) bez konieczności zabawy z portami.
Docker podczas instalacji uruchamia routing.
1. Utworzenie własnej sieci
docker network create –subnet=192.18.0.0/24 public
2. Utworzenie kontenera podpiętego do utworzonej sieci z predefiniowanym adres IP
docker container run -itd –privileged -h 3ti-1 –name 3ti_1 –net public –ip 192.18.0.11 wojst_technikum /bin/bash
3. Dodanie routingu na kliencie (Linux)
ip route add 192.18.0.0/24 via 10.10.7.5
4. Podłączenie po SSH do kontenera
ssh root@192.18.0.11
Skrypt tworzący 30 kontenerów z różnymi adresami
#!/bin/bash
sysctl -w fs.inotify.max_user_instances=8192
for i in {1..30}
do
ip=192.18.0.$((10+$i))
docker container run -itd –privileged -h 3ti-$i –name 3ti_$i –net public –ip $ip wojst_technikum /bin/bash
done