Préparation du serveur
Avant toute chose, il va déjà falloir récupérer vos accès dans l'e-mail que vous avez dû recevoir.
Ensuite il faut vous connecter en ssh à votre serveur et vérifier que votre serveur est bien à jour :
apt update && apt upgrade -y
De mon côté, je vais systématiquement installer quelques outils et ajouter un compte à mon nom afin de désactiver l'accès SSH en root :
apt install vim sudo
useradd -s /bin/bash -m -d /home/monuser monuser
usermod -G monuser,sudo monuser
passwd monuser
⚠️ Avant de désactiver l'accès SSH en root, vérifiez votre nouveau compte.
Ensuite vous pouvez modifier la configuration sshd :
vim /etc/ssh/sshd_config
On recherche la ligne suivante que l'on passe à "no" :
PermitRootLogin no
et on relance ssh :
service sshd restart
Passons maintenant à l'installation de Docker.
Installer le dépôt Docker
Pour la suite du tutoriel, connectez-vous avec votre compte nominatif.
On installe les dépendances pour pouvoir utiliser un dépôt en HTTPS :
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
Ensuite on ajoute la clé GPG du dépôt docker-ce :
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
On peut maintenant ajouter le dépôt et mettre à jour apt pour le prendre en compte :
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
Installer Docker
On met à jour l'index d'apt :
sudo apt update
Et on installe Docker :
sudo apt-get install docker-ce docker-ce-cli containerd.io
Vous pouvez ensuite vérifier que tout fonctionne correctement sur votre serveur :
sudo docker run hello-world
Cette commande va lancer votre premier conteneur avec un message que nous allons voir ensemble :
Unable to find image 'hello-world:latest' locally
Je ne possède pas l'image du conteneur hello-world en local. Docker va donc la télécharger depuis son dépôt ( https://hub.docker.com/ ).
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f
Status: Downloaded newer image for hello-world:latest
L'image est téléchargée pour s'exécuter dans un conteneur :
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
Mon conteneur n'avait qu'une mission, afficher ce message ! Voilà, votre dédié fait tourner Docker et vous allez pouvoir vous en servir.
Vous pouvez ensuite sécuriser votre serveur à l'aide d'IPTABLES.