2014-10-01 23 views
26

hanno utilizzato Docker con successo per un paio di settimane, ma oggi, quando stavo seguendo un insieme di istruzioni che ha suggerito di aggiungere le seguenti due righe al file di configurazione finestra mobile a /etc/init/docker.conf:Partendo Docker come demone su Ubuntu

limit memlock unlimited unlimited 
limit nofile 262144 

Quindi suggeriva di riavviare Docker con sudo /etc/init.d/docker restart. Quando ho fatto questo sotto Ubuntu 14.04 è riferito che:

  • Docker è gestito tramite upstart, provare a utilizzare il servizio finestra mobile restart

ho cercato sudo service docker restart al quale ha riferito:

stop: lavoro sconosciuto: finestra mobile

inizio: U nknown job: docker

Ora sono bloccato con il daemon docker non in esecuzione! Ho provato a ripartire ma non è ancora in esecuzione e quando eseguire qualcosa di semplice come sudo docker version ottengo:

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 

Per risolvere i Ho provato a far partire il daemon finestra mobile sulla riga di comando con:

sudo docker -d 

E in un altro terminale finestra Ora sono in grado di eseguire Docker normalmente. È fantastico, ma come faccio a riavviarlo normalmente? Inoltre noto che ho due file di configurazione docker:

/etc/init/docker.conf 
/etc/init/docker.io.conf 

Sembrano DUP. Sono ridondanti? Quale dovrei guardare? Ho bisogno di entrambi?

Ho anche notato che questa duplicazione si presenta quando corro sudo service --status-all |grep docker Ottengo sia docker e docker.io come servizi elencati. Cresciuto.

+0

Si prega di notare davvero non capisco i meccanismi di ** upstart ** e sospetto che si tratti più di un problema di upstart che di un problema di docker. – ken

risposta

23

Esistono più repository popolari che offrono pacchetti docker per Ubuntu. Il pacchetto docker.io è (molto probabilmente) dal repository di Ubuntu. Un altro popolare è http://get.docker.io/ubuntu che offre un pacchetto lxc-docker (sto eseguendo quest'ultimo perché spedisce gli aggiornamenti più velocemente). Assicurati che sia installato un solo pacchetto. Non sono del tutto sicuro se la rimozione dei pacchetti si ripulisce correttamente. Se sudo service docker restart continua a non funzionare, potrebbe essere necessario pulire manualmente in/etc /.

+1

ora che lo dici tu mi ricordo che anch'io ho "tracciato velocemente" su Docker che è quasi sicuramente il motivo per cui ho due versioni. Purtroppo non ho mai scritto quello che ho fatto, quindi credo che lo farò invertire questa mattina. – ken

+1

Cercherò di nuovo 'sudo service docker restart' ma non mi aspetto alcuna modifica da prima. Quando dici "ripulisci manualmente in/etc" puoi dare un'idea di cosa intendi? Suppongo che avrò bisogno di andare lì, ma è un'area che non conosco abbastanza. – ken

+0

BTW, in/etc/apt/sources.list.d/'Ho sia un file" docker.list "che un file" docker.list.save "che puntano a' http: // get.docker.io/ubuntu'. Quindi quel mistero è risolto. Non conosco la funzione del file "docker.list.save" ma anche altri file in questa directory sembrano avere questo file sidecar quindi presumo che sia normale? – ken

6

Questo problema mi è costato alcune ore.

Il mio sistema è Ubuntu 14.04, ho installato la finestra mobile sudo apt-get install docker e ho digitato altri comandi che hanno causato il problema.

  1. I google "lavoro sconosciuto: docker.io", le risposte non hanno effetto.

  2. Ho cercato motivi di "lavoro sconosciuto" in /etc/init.d/, non ho trovato risposta adeguata.

  3. Ho cercato il modo di eseguire il debug di script in /etc/init.d/, non ho trovato risposta adeguata.

  4. Poi, ho fatto un pulito:

    1. sudo apt-get remove docker.io
    2. rm ogni file sospetto da find/-name "*docker*", come ad esempio /etc/init/docker.io.conf, /etc/init.d/docker.io.
  5. Seguire l'ultimo documento ufficiale: https://docs.docker.com/installation/, c'è molta documentazione obsoleta che può essere fuorviante.

Infine, ha risolto il problema.

Nota: se si è in Cina, a causa della GFW, potrebbe essere necessario impostare https_proxy per installare la finestra mobile da https://get.docker.com/.

12

Ho avuto lo stesso problema in 14.04 con la finestra mobile 1.9.1.

Il comando servizio di upstart ha funzionato quando ho usato sudo, anche se ero radice:

$ whoami 
root 
$ service docker status 
status: Unbekannter Auftrag: docker 

$ sudo service docker status 
docker start/running, process 7394 

E sembra dipendere le variabili di ambiente.

service docker status opere quando si diventa radice con su -, ma non se si usano solo su:

$ su 
Password: 
$ service docker status 
status: unknown job: docker 
$ exit 
$ su - 
Password: 
$ service docker status 
docker start/running, process 2342 
+0

Questa è la differenza tra 'su - root' e' su root'. Se è stato effettuato il login come 'su root',' sudo servizio docker status' è l 'unica via da percorrere.Se ha effettuato il login come 'su - root', 'stato finestra mobile servizio 'dovrebbe essere j funziona! – VanagaS

1

ho avuto una stessa edizione su Ubuntu 14.04 Ecco una soluzione

sudo service docker start 

o è possibile elencare immagini

docker images 
3

I sapere che è stata data una risposta a queste domande, tuttavia il motivo per cui ciò ti sta accadendo è stato probabilmente perché non hai aggiunto il tuo nome utente al gruppo docker.

Ecco i passaggi per farlo:

aggiungere il gruppo finestra mobile, se non esiste già:

sudo groupadd docker 

aggiungere l'utente connesso ${USER} al gruppo finestra mobile. Cambiare il nome utente per abbinare il vostro utente preferito:

sudo gpasswd -a ${USER} docker 

riavviare il demone Docker:

sudo service docker restart 

Se siete su Ubuntu 14,04-15,10 * utilizzare docker.io invece:

sudo service docker.io restart 

(Se sei su Ubuntu 16.04 il servizio è chiamato semplicemente "docker")

Effettuare una finestra mobile newgrp o uscire/uscire per attivare le modifiche ai gruppi.

0

Se il bug appare, che il daemon non è in esecuzione e se avviato con più output, ad es.

sudo docker daemon -D 

e l'uscita è un timeout, questo può essere fissato sotto Ubuntu con la seguente esecuzione:

$ ps axf | grep docker | grep -v grep | awk '{print "kill -9 " $1}' | sudo sh 

(fonte: https://github.com/moby/moby/issues/22507#issuecomment-219601289)

0

Ho avuto lo stesso problema, e è stato causato dalla linea per il registro non sicuro in: /etc/default/docker

Problemi correlati