Docker installation
Autant sur un ordinateur classique installer Docker, ainsi que Docker-compose est une chose aisé, autant tenter l'aventure sur une Raspberry pi est assez prise de tête ...
Installation de Docker
La méthode très facile, mais pas à jour
Sur raspian, on peut se contenter d'utiliser la commande :
sudo apt-get install docker.io
Cependant la version que vous obtiendrez suite à cette commande, 1.8.3~ds1-2 (en avril 2018), ne permettra pas l'utilisation de docker-compose (en tout cas pas avec des fichiers "docker-compose.yml" de version 2), il vous faudra pour ça une version supérieure à la 1.10.
La méthode facile et à jour
Pour obtenir une version à jour il faut chercher docker dans un autre dépôt.
sudo apt-get install -y apt-transport-https wget -q https://packagecloud.io/gpg.key -O - | sudo apt-key add - echo 'deb https://packagecloud.io/Hypriot/Schatzkiste/debian/ wheezy main' | sudo tee /etc/apt/sources.list.d/hypriot.list sudo apt-get update sudo apt-get install -y docker-hypriot sudo systemctl enable docker
Installation de Docker-compose
C'est maintenant que les choses se corsent, pour les mêmes raisons qu'au-dessus, la commande
sudo apt-get install docker-compose
Ne vous permettra que d'accéder à la version 1.9.0-29 (avril 2018). Pour arriver à obtenir la dernière version il va falloir le compiler. La méthode que j'ai trouvé est assez particulière car plutôt que d'installer tous les paquets nécessaire à sa compilation, cette méthode utilise docker afin de créer un conteneur satisfaisant les conditions.
Récupération du dépôt git
On commence par récupérer les sources sur git grâce aux commandes :
git clone https://github.com/docker/compose.git git checkout release
Ensuite on accède au dossier avec la simple commande
cd compose
python-pip
Attention !! Sur le site où j'ai trouvé ces infos il crée l'image toute de suite, cependant chez moi j'ai eu quelques erreurs concernant pip J'ai pu procédé à la création de l'image en modifiant le fichier "Dockerfile.armhf". La ligne qui posa problème chez moi est :
RUN pip install tox==2.1.1
J'ai du la commenter et la remplacer par :
RUN apt-get update RUN apt-get install python-pip -y RUN python3 -m pip install --upgrade tox==2.1.1
Pour ne plus avoir d'erreur lors de la création de l'image.
Création de l'image
attention vous aurez le temps de boire plusieurs cafés pendant cette étape.
docker build -t docker-compose:armhf -f Dockerfile.armhf .
Compilation
Une fois l'image crée il faut compiler docker-compose (celle là aussi prend du temps) :
docker run --rm --entrypoint="script/build/linux-entrypoint" -v $(pwd)/dist:/code/dist -v $(pwd)/.git:/code/.git "docker-compose:armhf"
Une fois fini, vous obtiendrez l'exécutable dans le dossier dist, il ne reste alors plus qu'a copier au bon endroit et changer les droits de ce fichier.
Fin
sudo cp dist/docker-compose-Linux-armv7l /usr/local/bin/docker-compose sudo chown root:root /usr/local/bin/docker-compose sudo chmod 0755 /usr/local/bin/docker-compose
Et voilà vous disposez maintenant de docker et docker-compose à jour.