J'utilise Docker avec succès depuis quelques semaines, mais aujourd'hui, lorsque je suivais une série d'instructions suggérant d'ajouter les deux lignes suivantes au fichier de configuration du docker à /etc/init/docker.conf
:
limit memlock unlimited unlimited
limit nofile 262144
Il a ensuite suggéré de redémarrer Docker avec Sudo /etc/init.d/docker restart
. Quand j'ai fait cela sous Ubuntu 14.04, il a rapporté que:
- Docker est géré via une procédure d’arrivée. Essayez d’utiliser le redémarrage du docker de service.
J'ai essayé Sudo service docker restart
auquel il a rapporté:
arrêt: travail inconnu: docker
début: Emploi inconnu: docker
Maintenant, je suis coincé avec le démon docker ne fonctionne pas! J'ai essayé de redémarrer mais ça ne marche toujours pas et quand je lance quelque chose d'aussi simple que Sudo docker version
je reçois:
Client version: 1.2.0
Client API version: 1.14
Go version (client): go1.3.1
Git commit (client): fa7b24f
OS/Arch (client): linux/AMD64
2014/10/01 09:57:45 Get http:///var/run/docker.sock/v1.14/version: dial unix /var/run/docker.sock: no such file or directory
Pour résoudre ce problème, j'ai essayé de démarrer le démon docker sur la ligne de commande avec:
Sudo docker -d
Et dans une autre fenêtre de terminal, je peux maintenant exécuter Docker normalement. C'est génial, mais COMMENT puis-je le redémarrer normalement? Aussi, je remarque que j'ai deux fichiers de configuration de docker:
/etc/init/docker.conf
/etc/init/docker.io.conf
Ils ressemblent à des DUP. Sont-ils redondants? Lequel devrais-je regarder? Ai-je besoin des deux?
J'ai également remarqué que cette duplicité apparaît lorsque j'exécute Sudo service --status-all |grep docker
. Je reçois à la fois docker
et docker.io
en tant que services répertoriés. Cultivé.
Il existe plusieurs référentiels populaires offrant des paquets Docker pour Ubuntu. Le paquetage docker.io
provient (probablement) du référentiel Ubuntu. Un autre populaire est http://get.docker.io/ubuntu
qui offre un paquetage lxc-docker
(J'exécute ce dernier parce qu'il envoie les mises à jour plus rapidement). Assurez-vous qu'un seul paquet est installé. Pas tout à fait sûr que le retrait des paquets nettoie correctement. Si Sudo service docker restart
ne fonctionne toujours pas, vous devrez peut-être nettoyer manuellement dans/etc /.
J'ai eu le même problème le 14.04 avec docker 1.9.1.
La commande de service upstart fonctionnait lorsque j'utilisais Sudo, même si j'étais root:
$ whoami
root
$ service docker status
status: Unbekannter Auftrag: docker
$ Sudo service docker status
docker start/running, process 7394
Cela semble dépendre des variables d'environnement.
service docker status
fonctionne pour devenir root avec su -
, mais pas si vous utilisez uniquement su
:
$ su
Password:
$ service docker status
status: unknown job: docker
$ exit
$ su -
Password:
$ service docker status
docker start/running, process 2342
Ce problème m'a vraiment coûté quelques heures.
Mon système s'appelle Ubuntu 14.04, j'ai installé docker avec Sudo apt-get install docker
et tapé d'autres commandes à l'origine du problème.
Je google "travail inconnu: docker.io", les réponses n'ont pas pris effet.
J'ai cherché des raisons de "travail inconnu" dans /etc/init.d/
, je n'ai trouvé aucune réponse appropriée.
J'ai cherché un moyen de déboguer le script dans /etc/init.d/
, je n'ai trouvé aucune réponse appropriée.
Ensuite, j'ai fait un nettoyage:
Sudo apt-get remove docker.io
find / -name "*docker*"
, tel que /etc/init/docker.io.conf
, /etc/init.d/docker.io
.Suivez le dernier document officiel: https://docs.docker.com/installation/ , il existe de nombreux documents obsolètes qui peuvent induire en erreur.
Enfin, cela a résolu le problème.
Remarque: Si vous êtes en Chine, vous devrez peut-être configurer https_proxy pour installer docker à partir de https://get.docker.com/ , à cause de GFW.
Je sais que cette question a reçu une réponse, mais la raison pour laquelle cela vous arrive est probablement parce que vous n'avez pas ajouté votre nom d'utilisateur au groupe docker.
Voici les étapes pour le faire:
Ajoutez le groupe de menu fixe s'il n'existe pas déjà:
Sudo groupadd docker
Ajoutez l'utilisateur connecté ${USER}
au groupe de menus. Changez le nom d'utilisateur pour correspondre à votre utilisateur préféré:
Sudo gpasswd -a ${USER} docker
Redémarrez le démon Docker:
Sudo service docker restart
Si vous êtes sur Ubuntu 14.04-15.10 * utilisez plutôt docker.io:
Sudo service docker.io restart
(Si vous êtes sur Ubuntu 16.04, le service s'appelle simplement "docker")
Faites un menu fixe newgrp
ou déconnectez-vous/ouvrez pour activer les modifications apportées aux groupes.
J'ai eu le même problème sur Ubuntu 14.04Voici une solution
Sudo service docker start
ou vous pouvez lister des images
docker images
Si le bogue apparaît, que le démon n'est pas en cours d'exécution et s'il est démarré avec plus de sortie, par exemple.
Sudo docker daemon -D
et la sortie est un timeout, cela peut être corrigé sous Ubuntu avec l'exécution suivante:
$ ps axf | grep docker | grep -v grep | awk '{print "kill -9 " $1}' | Sudo sh
(Source: https://github.com/moby/moby/issues/22507#issuecomment-219601289 )
J'ai eu le même problème, et il a été causé par une ligne pour un registre non sécurisé dans: /Etc/default/docker