Voici un petit script Bash très basique et sans aucune prétention permettant d'installer Docker et/ou Docker Swarm en précisant le rôle du nœud dans le Swarm (Manager ou Worker)
#!/bin/bash
echo ""
echo " ************************************************** "
echo " *** Installation de Docker par Jovelin Antoine *** "
echo " *** Source : wiki.jovelinantoine.fr *** "
echo " ************************************************** "
echo ""
# fonction Menu
Menu() {
echo ""
read -p " *********************************************************
*** Selectionner une option : ***
*** - 1 Installation de Docker ************************
*** - 2 Installation de Docker Swarm ******************
*** - 3 Installation de Docker puis de Docker Swarm ***
*********************************************************
" option
while [ $option != "1" ] && [ $option != "2" ] && [ $option != "3" ]
do
read -p " *********************************************************
*** Selectionner une option : ***
*** - 1 Installation de Docker ************************
*** - 2 Installation de Docker Swarm ******************
*** - 3 Installation de Docker puis de Docker Swarm ***
*********************************************************
" option
done
}
# fonction pour installer Docker et Docker Compose
Docker(){
# Docker
echo " Installation du package curl "
echo " Si ce package est déjà installé, l'installation sera ignorée "
echo ""
cd /tmp
apt install curl -y
echo ""
echo " Installation de Docker merci de patienter "
echo ""
sleep 0.5
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
echo ""
echo " Installation de Docker Terminée "
echo " Vérification de l'installation "
echo ""
docker version
echo ""
echo " Installation de Docker Compose merci de patienter "
echo ""
sleep 0.5
# Docker-Compose
read -p " Entrer la version de Compose à installer. Les différentes versions sont disponibles à cette adresse : https://docs.docker.com/compose/release-notes/
" compose
while [ -z $compose ]
do
read -p " Entrer la version de Compose à installer. Les différentes versions sont disponibles à cette adresse : https://docs.docker.com/compose/release-notes/
" compose
done
curl -L "https://github.com/docker/compose/releases/download/"$compose"/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose version
echo " Installation de Docker Compose Terminée "
echo " Vérification de l'installation "
echo ""
docker-compose version
echo ""
echo ""
}
# fonction pour installer Docker Swarm
Swarm() {
#choix master ou worker
read -p " Faut-il créer un Master ou un Worker ? [Master/Worker]
" SwarmMode
while [ $SwarmMode != "Master" ] && [ $SwarmMode != "Worker" ]
do
read -p " Faut-il créer un Master ou un Worker ? [Master/Worker]
" SwarmMode
done
if [ $SwarmMode = "Master" ] ; then
echo -e "\e[33m ATTENTION : Penser à copier le lien permettant d'initialiser des workers \e[0m"
echo " "
docker swarm init
else
read -p " Coller le lien pour initialiser un worker
" WorkerInit
echo ""
$WorkerInit
fi
echo ""
echo ""
}
Menu
echo ""
if [ $option = "1" ] ; then
Docker
read -p " Faut-il afficher le menu ? [O/N]
" reponse
while [ $reponse != "O" ] && [ $reponse != "N" ]
do
read -p " Faut-il afficher le menu ? [O/N]
" reponse
done
if [ $reponse = "O" ] ; then
Menu
else
cd ~
exit 0
fi
fi
if [ $option = "2" ] ; then
Swarm
exit 0
fi
if [ $option = "3" ] ; then
Docker
sleep 3
Swarm
fi