web-dev-qa-db-fra.com

Docker est géré via une procédure d’arrivée. Essayez d’utiliser le docker de service.

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 serviceEST 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?

1
alexus

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é.

2
Mike Atlas