🏷️ catégories  /  🚀 projets  /  📰 rss  /  👤 à propos

Installer un Raspberry Pi avec Docker

Après avoir bien pris la poussière, j'ai enfin décidé de (re)faire quelque chose de mon Raspberry Pi. A l'origine, le Pi a été développé pour libérer le pouvoir créatif, mais j'ai toujours été rebuté par la maintenance d'un serveur Linux et le bazar que générait l'installation des bases de données, serveurs et autres outils.

Heureusement, maintenant nous avons les conteneurs ! Ils sont parfait pour expérimenter tout un tas de choses sans polluer la machine. J'ai donc choisi d'utiliser une distribution Raspbian Lite sans interface graphique, sur laquelle je vais installer Docker. Mon but est d'avoir un OS aussi dépouillé que possible de n'installer que des conteneurs contenant les applicatifs désirés.

Sources

Pour cette installation, je me suis aidé de plusieurs articles :

Matériel

  • un Raspberry Pi (version 2, B+)
  • une carte mémoire (SD Card)
  • de l'équipement réseau (câble RJ45, switch)
  • un autre ordinateur sous Linux (Mint)

1/ Préparation de la carte mémoire

Formattage

Tout d'abord on va préparer la carte, et il faut commencer par la formatter. Pour cela, on insère la carte dans le lecteur. Si comme moi, vous n'en avez pas un d'intégré à votre PC, un adapteur USB fera très bien l'affaire. Puis, j'ai utilisé l'utilitaire graphique Disks de Linux Mint pour trouver la carte parmis les supports de stockage et ensuite pour la formatter via le menu.

Notez bien chemin de la carte mémoire, ça sera utile plus tard. Pour moi, il s'agissait de /dev/sdc.

Téléchargement de Raspbian

Rien de sorcier, voici la page des téléchargements : Raspberry Pi Downloads.

Installation de Raspbian

Pour installer Raspbian, il suffit de copier le contenu de l'archive téléchargée sur la carte mémoire. Pour cela, j'ai utilisé l'utilitaire dd, qui prend en paramètre, entre autre le chemin de ma carte mémoire que j'avais pris le soin de noter auparavant.

unzip -p 2018-06-27-raspbian-stretch-lite.zip
| sudo dd of=/dev/sdc conv=fsyncp

Un peu de configuration

Par défaut, SSH sera désactivé et ce sera facheux lorsqu'on voudra prendre la main à distance sur le Pi. Pour l'activer, il suffit de créer un fichier vide dans la partiion de boot sur la carte mémoire.

sudo mount /dev/sdc1 /mnt -o umask=000
touch /mnt/ssh

2/ Lancement !

La carte mémoire est prête. Il est temps d'insérer la carte, brancher le Pi au réseau et l'allumer. Une fois démarré, j'ai tiré parti de ma box internet (Livebox) pour assigner une IP statique et un nom (backupserver) au Pi depuis l'interface d'administration, puis je l'ai redémarré pour qu'il prenne en compte les changements.

La configuration réseau terminée, on peut se connecter en SSH en utilisant les identifiants par défaut : pi / raspberry

ssh pi@backupserver

Pour des raisons évidentes, on va en profiter pour changer tout de suite le mot de passe :

passwd

3/ Installation de Docker

Docker supporte désormais les architectures ARM. On va donc pouvoir l'installer assez facilement sur le Pi !

Preconfiguration

Avant de pouvoir installer Docker, un peu de configuration est nécessaire. Tout d'abord, il faut définir le hostname dans les fichiers suivants :

  • /etc/hosts
  • /etc/hostname

Ensuite, on va modifier le fichier /boot/config.txt pour modifier ou ajouter la ligne suivante :

gpu_mem=16

Installer Docker

Docker s'installe très facilement via la commande proposée sur le site officiel :

curl -sSL https://get.docker.com | sh

Configurer Docker

Dans mon cas, j'ai envie que Docker se lance toujours au démarrage du Pi, c'est pourquoi je configure systemd :

sudo systemctl enable docker

Et pour des raisons pratiques, on peut également configurer notre utilisateur pour lui permettre d'utiliser Docker sans avoir systématiquement besoin de sudo :

sudo usermod -aG docker pi

On peut maintenant redémarrer le Pi une nouvelle (et dernière) fois.

Profit

Le Raspberry Pi est désormais prêt à recevoir des conteneurs !