R513-ansible/create-cont.sh
2023-11-16 09:18:04 -03:00

50 lines
2.8 KiB
Bash
Executable File

#! /bin/bash
if [ ! -f ~/.ssh/id_ed25519.pub ]
then
echo "pas de clefs ssh id_ed25519.pub"
echo "Lancez ssh-keygen -t ed25519"
echo "NE METTEZ PAS DE PASSPHRASE"
exit 1
fi
cat ~/.ssh/id_ed25519.pub >> /root/.ssh/authorized_keys
echo "effacement des containers existants"
echo "################################"
docker stop $(docker ps -a -q)
sleep 5s
docker rm $(docker ps -a -q)
sleep 10s
echo "effacement des network dockers existants"
echo "################################"
for net in $(docker network ls -q); do docker network rm $net; done
echo "################################"
echo "Creation des network dockers pour le TP"
echo "################################"
for x in $(seq 0 9); do docker network create --driver bridge brrock_n_$x ;done
for x in $(seq 0 9); do docker network create --driver bridge brddeb_n_$x ;done
echo "remise à zero de /root/.ssh/known_hosts"
echo "################################"
> /root/.ssh/known_host
echo "supression des adresses des containers existants dans /etc/hosts"
echo "################################"
awk -v opt="i" -v lineNo="6" 'NR > lineNo-( opt == "i"? 1 : 0 ){exit};1' /etc/hosts > /tmp/hosts && mv /tmp/hosts /etc/hosts
echo "Création des containers Debian 11 et rockylinux 8"
echo "################################"
for x in $(seq 0 4); do docker run -d -p 322$x:22 -v /root/.ssh:/root/.ssh --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro --net brrock_n_$x --name rocky-$x --hostname rocky-$x registry.iut-kourou.local/rockylinux-ssh:8 ;done
for x in $(seq 0 4); do docker run -d -p 222$x:22 -v /root/.ssh:/root/.ssh --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro --net brddeb_n_$x --name debian-$x --hostname debian-$x registry.iut-kourou.local/debian-ssh:11 ;done
echo "creation des ip des containers dans /etc/hosts"
echo "################################"
for x in $(seq 0 4); do echo "$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' rocky-$x) rocky-$x" >> /etc/hosts;done
for x in $(seq 0 4); do echo "$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' debian-$x) debian-$x" >> /etc/hosts;done
#echo "installation depuis galaxy de la collection arista"
#echo "installation de l'image ceos & aliasing routeur"
#sudo ansible-galaxy collection install arista.eos
#sudo docker pull registry.iutbeziers.fr/ceosimage:4.29.02F
#sudo docker tag registry.iutbeziers.fr/ceosimage:4.29.02F ceosimage:latest
#echo "création des containers routers Arista ceos"
#sudo yes | sudo /usr/local/bin/docker-topo --create -s /home/ansible/topo-ansible.yaml
#sudo echo "alias ceos1='docker exec -it 3-node_cEOS-1 Cli'" >> /root/.bashrc
#sudo echo "alias ceos2='docker exec -it 3-node_cEOS-2 Cli'" >> /root/.bashrc
#sudo echo "alias ceos3='docker exec -it 3-node_cEOS-3 Cli'" >> /root/.bashrc
echo "voila le boulot est fait !"
docker ps -a