web-dev-qa-db-fra.com

Démarrer Docker en tant que démon sur Ubuntu

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

39
ken

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

31
Andreas Steffan

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
14
cweiske

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.

  1. Je google "travail inconnu: docker.io", les réponses n'ont pas pris effet.

  2. J'ai cherché des raisons de "travail inconnu" dans /etc/init.d/, je n'ai trouvé aucune réponse appropriée.

  3. J'ai cherché un moyen de déboguer le script dans /etc/init.d/, je n'ai trouvé aucune réponse appropriée.

  4. Ensuite, j'ai fait un nettoyage:

    1. Sudo apt-get remove docker.io
    2. rm chaque fichier suspect par find / -name "*docker*", tel que /etc/init/docker.io.conf, /etc/init.d/docker.io.
  5. 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.

8
secfree

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.

3
tsukanomon

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
2
Chetan kapoor

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 )

0
schlenger

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

0
zhrist