J'utilise le système suivant:
root@alexus:~# cat /etc/issue.net
Ubuntu 14.04.3 LTS
root@alexus:~# uname -a
Linux alexus 3.13.0-57-generic #95-Ubuntu SMP Fri Jun 19 09:28:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
root@alexus:~#
J'ai planifié un cron job
pour vérifier si docker service
EST en cours d'exécution et si ce n'est pas le cas, démarrez:
root@alexus:~# crontab -l | grep 'service docker'
*/5 * * * * service docker status | grep -q 'docker\ start\/running\,\ process\ .*' ; if [ $? != 0 ] ; then service docker start ; fi
root@alexus:~#
pourtant, le message que je reçois de cron
est le suivant:
- Docker est géré via une procédure d’arrivée. Essayez d’utiliser le docker de service.
et encore si je l'ai exécuté directement dans Shell, je ne reçois aucune sortie:
root@alexus:~# service docker status | grep -q 'docker\ start\/running\,\ process\ .*' ; if [ $? != 0 ] ; then service docker start ; fi
root@alexus:~#
Pourquoi est-ce que je reçois ce message via cron, alors que chaque fois que je l'exécute directement sur Shell, je ne reçois rien? Est-ce que je le fais mal? Quelle est la bonne façon d'accomplir cela?
En raison de l'actuel bogue du noyau Linux 18180 avec Docker 1.9.1 qui est enfoui au cœur d'un bogue du noyau Linux lié à AUFS, je cherchais à transférer mon installation Ubuntu 14.04 de Docker 1.9.1 vers Docker. 1.8.3, mais aussi le faire démarrer automatiquement au démarrage, comme le ferait l'installateur d'apt ...
Ainsi, j'ai extrait le fichier binaire Docker 1.8.3 de _https://get.docker.com/builds/Linux/x86_64/docker-1.8.3
_, puis je l'ai déplacé vers _/usr/bin/docker
_, lui ai donné _Sudo chmod +x /usr/bin/docker
_ autorisations exécutables.
Ensuite, j'ai saisi le script brut sysvinit-debian/docker
, et j'ai également commenté le corps check_init()
(cela me causait un chagrin inutile) et je l'ai remplacé par "echo 'Skipping check_init()"
et puis l'a laissé tomber dans _/etc/init.d
_. Ensuite, je configure ce script pour qu'il s'exécute au démarrage au démarrage en tant que root avec _ln -s /etc/init.d/docker /etc/rc2.d/S99docker
_ et exécute _Sudo reboot
_. Après cela, je suis de nouveau en train d’exécuter le service Docker (1.8.3) au démarrage, à partir d’une installation binaire brute:
_$ service docker status
* Docker is running
_
Ça a l'air bien ici - je peux aussi exécuter _$ docker run -it hello-world
_ correctement, et continuer jusqu'à ce que 18180 soit corrigé.