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 -d macvlan –subnet=10.10.7.5/24 –gateway=10.10.7.1 -o parent=enp2s0 pub_net
* subnet – adres IP przypisany do NIC
* parent – NIC przyłączona do sieci LAN
2. Utworzenie kontenera podpiętego do utworzonej sieci z predefiniowanym adres IP
docker container run -itd –privileged -h 3ti-1 –name 3ti_1 –net pub_net –ip 10.10.7.51 wojst_technikum /bin/bash
* net – utworzona powyżej sieć
* ip – wolny adres IP przypisany do kontenera
3. Podłączenie po SSH do kontenera
ssh root@10.10.7.51
Skrypt tworzący 30 kontenerów z różnymi adresami
#!/bin/bash
for i in {1..30}
do
ip=10.10.7.$((50+$i))
docker container run -itd –privileged -h 3ti-$i –name 3ti_$i –net pub_net –ip $ip wojst_technikum /bin/bash
done