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
:
- Zakázat službu Docker :
sudo systemctl stop docker.service
- Spusťte Docker Daemon (
overlay
ovladač):sudo docker daemon -s overlay
- 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šší):
-
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
-
vyprázdnit změny provedením:
sudo systemctl daemon-reload
-
ověřte, zda byla konfigurace načtena:
systemctl show --property=ExecStart docker
-
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
-
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=
-
vyprázdnit změny provedením:
sudo systemctl daemon-reload
-
restartujte docker:
sudo systemctl restart docker