[Update] Installer (et exploiter) Docker sur des architectures « non supportées » (Raspbian/Intel 32 bits)

[Update] Docker natif sur la dernière version de Jessie

Suite au dernier Update de Raspbian  (Release date: 2016-02-09) docker s’installe d’un simple apt-get install docker.io

Limitations constatées (par rapport à la version Hypriot) :

Disparition du -f pour le build

Impossible de spécifier le Dockerfile de cette manière

<code>

docker build -t favela/lampbase:1.0.0   -f ./lampbase.dockerFile   .

</code>

Obliger de créer un fichier Dockerfile (avec un D majuscule) et de la copier dans un répertoire (ex : lampbase)

<code>

docker build   -t favela/lampbase:1.0.0  ./lampbase/

</code>

Un simple docker pull resin/rpi-raspbian:jessie plante (trove pas le endpoint) : je repars donc sur la version Hypriot.


 

Docker ne supporte que les architectures 64 bits.

Cela est fort dommage car cela nous prive de nombreuses target de test et/ou d’exploitation.

Heureusement il existe des initiatives pour porter Docker vers des architectures autres :

Debian Intel  32 bits


apt-get update

apt-get install docker.io

Plus qu’à tester (en root) avec un « docker ps  »

Raspbian (Raspberry Pi)

  • La team Hypriot a réalisé un formidable travail de portage de docker sur Raspbian.
  • Téléchargez le .deb à l’adresse suivante partie « Hypriot Docker Debian Packages for Raspberry Pi »
  • Puis un simple

dpkg -i package_name.deb

 

Et cela fonctionne même sur un simple Raspberry Pi Zero !

PS : je n’ai testé que sur Debian Jessie pas sur Wheezy.

PS2 : le service docker n’est pas lancé au boot,  pensez à le lancer avant vos tests.


service docker start &amp;amp;amp;amp;&amp;amp;amp;amp; service docker status

Ubuntu ARM



apt-get install docker.io 

 

Attention au bon choix de vos machines docker

  • Attention : les images Docker récupérées sur le hub docker sont en majorité des images Intel 64bits : donc incompatibles avec nos target de test.
  • Pensez à bien vérifier la compatibilité de vos images.

Des test à la Prod

  • Si vos dockerfiles sont bien écris , le passage d’une plate-forme de test à une prod 64 bits ne devrait pas poser de problème (en restanbt sur le même type de distribution évidement, par exemple d’une Raspbian à une Debian) : seul le FROM devra être changé.

 

DNS dynamique avec Debian

Pour obtenir un DNS dynamique il faut 2 choses :

  • Se déclarer auprès d’un service de DNS Dynamique
  • Installer un demon sur son serveur

 

Le service

J’ai opté pour freedns.afraid.org  .

Créez un compte et ajouter un sous-domaine (rien de compliqué)

Le démon

apt-get install inadyn

inadyn supporte de nombreux services :

  • http://www.dyndns.org
  • http://freedns.afraid.org
  • http://zoneedit.com
  • http://www.no-ip.com
  • http://www.easydns.com
  • http://www.tzo.com
  • http://www.3322.org
  • http://www.dnsomatic.com
  • http://www.tunnelbroker.net
  • http://dns.he.net/
  • http://www.dynsip.org
  • http://www.sitelutions.com
  • http://www.dnsexit.com
  • http://www.changeip.com

Le paramétrer (/etc/inadyn.conf)


# Service provider
# Please see inadyn(8) for a complete list of providers
system default@freedns.afraid.org


# Your username
username monusername

# Your password
password monpassword

# Your hostname. This option can appear multiple times
alias monsousdomaine.mooo.com

A par le « system » rien à expliquer.

Pour system vous trouverez dans le man la valeur correspondant à votre service.

Reste à passer inadyn en demon (/etc/default/inadyn)


...

# Set to "yes" if inadyn should run in daemon mode
# If this is changed to "yes", RUN_IPUP must be set to "no".
RUN_DAEMON="yes"

...

service inadyn restart

service inadyn status   -> pour véirfier que le service a bien démarré

Plus qu’à suivre les logs pour valider (update toute les 300s par défaut) que le service update bien votre IP.

tail -f /var/log/inadyn/inadyn.log


Tue Dec 29 16:39:26 2015: Will retry again in 300 sec...
Tue Dec 29 16:44:26 2015: .
Tue Dec 29 16:44:27 2015: Checking for IP# change, connecting to checkip.dyndns.org(91.198.22.70)
Tue Dec 29 16:44:35 2015: No IP# change detected, still at *********
Tue Dec 29 16:49:35 2015: .
Tue Dec 29 16:49:35 2015: Checking for IP# change, connecting to checkip.dyndns.org(216.146.43.70)
Tue Dec 29 16:49:43 2015: No IP# change detected, still at *********
Tue Dec 29 16:54:43 2015: .
Tue Dec 29 16:54:43 2015: Checking for IP# change, connecting to checkip.dyndns.org(91.198.22.70)
Tue Dec 29 16:54:59 2015: No IP# change detected, still at **********