GNU/Linux >> Znalost Linux >  >> Linux

Nelze spustit službu Docker v Ubuntu 16.04

No, konečně jsem to opravil

Vše, co musíte udělat, je načíst jiný ovladač úložiště v mém případě použiji overlay :

  1. Zakázat službu Docker :sudo systemctl stop docker.service
  2. Spusťte Docker Daemon (overlay ovladač):sudo docker daemon -s overlay
  3. Spustit ukázkový kontejner :sudo docker run hello-world

Aby byly tyto změny trvalé, musíte upravit /etc/default/docker soubor a přidejte možnost:

DOCKER_OPTS="-s overlay"

Příště Služba Docker po načtení poběží docker daemon -s overlay


Následující příkazy pro odmaskování mi fungovaly (Ubuntu 18). Doufám, že to někomu pomůže... :-)

sudo systemctl unmask docker.service
sudo systemctl unmask docker.socket
sudo systemctl start docker.service

Aktualizovat

Zdá se, že v novějších verzích dockeru a Ubuntu je soubor jednotky pro docker jednoduše maskovaný (ukazující na /dev/null).
Můžete to ověřit spuštěním následujících příkazů v terminálu:

sudo file /lib/systemd/system/docker.service
sudo file /lib/systemd/system/docker.socket

Měli byste vidět, že soubor jednotky symbolicky odkazuje na /dev/null.
V tomto případě vše, co musíte udělat, je následovat návrh S34N a spustit:

sudo systemctl unmask docker.service
sudo systemctl unmask docker.socket
sudo systemctl start docker.service
sudo systemctl status docker

Ponechám si také původní příspěvek, který odpovídá na chybový protokol, který uvádí, že ovladač úložiště by měl být vyměněn:

Původní příspěvek

Měl jsem stejný problém a pokusil jsem se ho opravit pomocí návrhu Salva Corta, ale tiskl jsem /etc/default/docker říká:

# TENTO SOUBOR SE NEVZTAHUJE NA SYSTEMD

Zde je tedy trvalá oprava, která funguje pro systemd (Ubuntu 15.04 a vyšší):

  1. vytvořte nový soubor /etc/systemd/system/docker.service.d/overlay.conf s následujícím obsahem:

    [Service]
    ExecStart=
    ExecStart=/usr/bin/docker daemon -H fd:// -s overlay
    
  2. vyprázdnit změny provedením:

    sudo systemctl daemon-reload
    
  3. ověřte, zda byla konfigurace načtena:

    systemctl show --property=ExecStart docker
    
  4. restartujte docker:

    sudo systemctl restart docker
    

Měl jsem stejný problém po upgradu dockeru z 17.05-ce na 17.06-ce přes docker-machine

  1. Aktualizujte /etc/systemd/system/docker.service.d/10-machine.conf

    nahradit

    `docker daemon` => `dockerd`
    

    příklad z

    [Service]
    ExecStart=
    ExecStart=/usr/bin/docker deamon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic
    Environment=
    

    do

    [Service]
    ExecStart=
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=generic
    Environment=
    
  2. vyprázdnit změny provedením:

    sudo systemctl daemon-reload
    
  3. restartujte docker:

    sudo systemctl restart docker
    

Linux
  1. Jak nainstalovat Icinga 2 na Ubuntu 20.04

  2. Jak nainstalovat Docker na Ubuntu 22.04

  3. CentOS / RHEL 7:nelze spustit službu vsftpd

  1. Ubuntu:OpenJDK 8 - Nelze najít balíček

  2. Nelze spustit službu postgresql na CentOS 7

  3. Docker – Nelze najít balíček docker-engine

  1. Jak nainstalovat Docker na Ubuntu 16.04

  2. Jak nainstalovat Docker na Debian / Ubuntu

  3. Nelze spustit uiautomatorviewer na Ubuntu