it-swarm.com.de

Docker Service kann in Ubuntu 16.04 nicht gestartet werden

Ich habe versucht, Docker (1.10) unter Ubuntu 16.04 zu verwenden, die Installation schlägt jedoch fehl, weil der Docker-Dienst nicht gestartet wird .. _ Ich habe bereits versucht, das Docker von docker.io zu installieren, Docker-Engine apt Pakete und curl -sSL https://get.docker.com/ | sh, aber es funktioniert nicht.

Meine Host-Info lautet:

Linux Xenial 4.5.3-040503-generic #201605041831 SMP Wed May 4 22:33:50 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Hier ist systemctl status docker.service:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since sáb 2016-05-14 15:17:31 CEST; 12min ago
     Docs: https://docs.docker.com
  Process: 22479 ExecStart=/usr/bin/docker daemon -H fd:// (code=exited, status=1/FAILURE)
 Main PID: 22479 (code=exited, status=1/FAILURE)

may 14 15:17:30 Xenial docker[22479]: time="2016-05-14T15:17:30.103601523+02:00" level=info msg="New containerd process, pid: 22485\n"
may 14 15:17:31 Xenial docker[22479]: time="2016-05-14T15:17:31.149064723+02:00" level=error msg="devmapper: Unable to delete device: devicemapper: Can't set task name /dev/mapper/docker-8:6-2101297-pool"
may 14 15:17:31 Xenial docker[22479]: time="2016-05-14T15:17:31.149127439+02:00" level=warning msg="devmapper: Usage of loopback devices is strongly discouraged for production use. Please use `--storage-opt dm.thinpooldev` or use `man docker` to refer to dm.thinpooldev section."
may 14 15:17:31 Xenial docker[22479]: time="2016-05-14T15:17:31.153010028+02:00" level=error msg="[graphdriver] prior storage driver \"devicemapper\" failed: devicemapper: Can't set task name /dev/mapper/docker-8:6-2101297-pool"
may 14 15:17:31 Xenial docker[22479]: time="2016-05-14T15:17:31.153130839+02:00" level=fatal msg="Error starting daemon: error initializing graphdriver: devicemapper: Can't set task name /dev/mapper/docker-8:6-2101297-pool"
may 14 15:17:31 Xenial systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
may 14 15:17:31 Xenial docker[22479]: time="2016-05-14T15:17:31+02:00" level=info msg="stopping containerd after receiving terminated"
may 14 15:17:31 Xenial systemd[1]: Failed to start Docker Application Container Engine.
may 14 15:17:31 Xenial systemd[1]: docker.service: Unit entered failed state.
may 14 15:17:31 Xenial systemd[1]: docker.service: Failed with result 'exit-code'.

Hier ist Sudo docker daemon -D

DEBU[0000] docker group found. gid: 999                 
DEBU[0000] Listener created for HTTP on unix (/var/run/docker.sock) 
INFO[0000] previous instance of containerd still alive (23050) 
DEBU[0000] containerd connection state change: CONNECTING 
DEBU[0000] Using default logging driver json-file       
DEBU[0000] Golang's threads limit set to 55980          
DEBU[0000] received past containerd event: &types.Event{Type:"live", Id:"", Status:0x0, Pid:"", Timestamp:0x57372cae} 
DEBU[0000] containerd connection state change: READY    
DEBU[0000] devicemapper: driver version is 4.34.0       
DEBU[0000] devmapper: Generated prefix: docker-8:6-2101297 
DEBU[0000] devmapper: Checking for existence of the pool docker-8:6-2101297-pool 
DEBU[0000] devmapper: poolDataMajMin=7:0 poolMetaMajMin=7:1

DEBU[0000] devmapper: Major:Minor for device: /dev/loop0 is:7:0 
DEBU[0000] devmapper: Major:Minor for device: /dev/loop1 is:7:1 
DEBU[0000] devmapper: loadDeviceFilesOnStart()          
DEBU[0000] devmapper: Skipping file /var/lib/docker/devicemapper/metadata/transaction-metadata 
DEBU[0000] devmapper: loadDeviceFilesOnStart() END      
DEBU[0000] devmapper: constructDeviceIDMap()            
DEBU[0000] devmapper: constructDeviceIDMap() END        
DEBU[0000] devmapper: Rolling back open transaction: TransactionID=1 hash= device_id=1 
ERRO[0000] devmapper: Unable to delete device: devicemapper: Can't set task name /dev/mapper/docker-8:6-2101297-pool 
WARN[0000] devmapper: Usage of loopback devices is strongly discouraged for production use. Please use `--storage-opt dm.thinpooldev` or use `man docker` to refer to dm.thinpooldev section. 
DEBU[0000] devmapper: Initializing base device-mapper thin volume 
DEBU[0000] devicemapper: CreateDevice(poolName=/dev/mapper/docker-8:6-2101297-pool, deviceID=1) 
DEBU[0000] devmapper: Error creating device: devicemapper: Can't set task name /dev/mapper/docker-8:6-2101297-pool 
DEBU[0000] devmapper: Error device setupBaseImage: devicemapper: Can't set task name /dev/mapper/docker-8:6-2101297-pool 
ERRO[0000] [graphdriver] prior storage driver "devicemapper" failed: devicemapper: Can't set task name /dev/mapper/docker-8:6-2101297-pool 
DEBU[0000] Cleaning up old mountid : start.             
FATA[0000] Error starting daemon: error initializing graphdriver: devicemapper: Can't set task name /dev/mapper/docker-8:6-2101297-pool

Hier ist ./check-config.sh Ausgabe:

warning: /proc/config.gz does not exist, searching other paths for kernel config ...
info: reading kernel config from /boot/config-4.5.3-040503-generic ...

Generally Necessary:
- cgroup hierarchy: properly mounted [/sys/fs/cgroup]
- apparmor: enabled and tools installed
- CONFIG_NAMESPACES: enabled
- CONFIG_NET_NS: enabled
- CONFIG_PID_NS: enabled
- CONFIG_IPC_NS: enabled
- CONFIG_UTS_NS: enabled
- CONFIG_DEVPTS_MULTIPLE_INSTANCES: enabled
- CONFIG_CGROUPS: enabled
- CONFIG_CGROUP_CPUACCT: enabled
- CONFIG_CGROUP_DEVICE: enabled
- CONFIG_CGROUP_FREEZER: enabled
- CONFIG_CGROUP_SCHED: enabled
- CONFIG_CPUSETS: enabled
- CONFIG_MEMCG: enabled
- CONFIG_KEYS: enabled
- CONFIG_MACVLAN: enabled (as module)
- CONFIG_VETH: enabled (as module)
- CONFIG_BRIDGE: enabled (as module)
- CONFIG_BRIDGE_NETFILTER: enabled (as module)
- CONFIG_NF_NAT_IPV4: enabled (as module)
- CONFIG_IP_NF_FILTER: enabled (as module)
- CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled (as module)
- CONFIG_NF_NAT: enabled (as module)
- CONFIG_NF_NAT_NEEDED: enabled
- CONFIG_POSIX_MQUEUE: enabled

Optional Features:
- CONFIG_USER_NS: enabled
- CONFIG_SECCOMP: enabled
- CONFIG_CGROUP_PIDS: enabled
- CONFIG_MEMCG_KMEM: missing
- CONFIG_MEMCG_SWAP: enabled
- CONFIG_MEMCG_SWAP_ENABLED: missing
    (note that cgroup swap accounting is not enabled in your kernel config, you can enable it by setting boot option "swapaccount=1")
- CONFIG_BLK_CGROUP: enabled
- CONFIG_BLK_DEV_THROTTLING: enabled
- CONFIG_IOSCHED_CFQ: enabled
- CONFIG_CFQ_GROUP_IOSCHED: enabled
- CONFIG_CGROUP_PERF: enabled
- CONFIG_CGROUP_HUGETLB: enabled
- CONFIG_NET_CLS_CGROUP: enabled (as module)
- CONFIG_CGROUP_NET_PRIO: enabled
- CONFIG_CFS_BANDWIDTH: enabled
- CONFIG_FAIR_GROUP_SCHED: enabled
- CONFIG_RT_GROUP_SCHED: missing
- CONFIG_EXT3_FS: missing
- CONFIG_EXT3_FS_XATTR: missing
- CONFIG_EXT3_FS_POSIX_ACL: missing
- CONFIG_EXT3_FS_SECURITY: missing
    (enable these ext3 configs if you are using ext3 as backing filesystem)
- CONFIG_EXT4_FS: enabled
- CONFIG_EXT4_FS_POSIX_ACL: enabled
- CONFIG_EXT4_FS_SECURITY: enabled
- Network Drivers:
  - "overlay":
    - CONFIG_VXLAN: enabled (as module)
- Storage Drivers:
  - "aufs":
    - CONFIG_AUFS_FS: missing
  - "btrfs":
    - CONFIG_BTRFS_FS: enabled (as module)
  - "devicemapper":
    - CONFIG_BLK_DEV_DM: enabled
    - CONFIG_DM_THIN_PROVISIONING: enabled (as module)
  - "overlay":
    - CONFIG_OVERLAY_FS: enabled (as module)
  - "zfs":
    - /dev/zfs: missing
    - zfs command: missing
    - zpool command: missing

Wenn mir bitte jemand helfen könnte, wäre ich sehr dankbar

27
Salva Corts

Ich hatte das gleiche Problem und versuchte es mit dem Vorschlag von Salva Cort zu beheben, aber /etc/default/docker zu drucken sagt:

# DIESE DATEI GILT NICHT FÜR SYSTEMD

Hier ist also ein dauerhafter Fix der für systemd (Ubuntu 15.04 und höher) funktioniert:

  1. erstellen Sie eine neue Datei /etc/systemd/system/docker.service.d/overlay.conf mit folgendem Inhalt:

    [Service]
    ExecStart=
    ExecStart=/usr/bin/docker daemon -H fd:// -s overlay
    
  2. Änderungen spülen, indem Sie Folgendes ausführen:

    Sudo systemctl daemon-reload
    
  3. Überprüfen Sie, ob die Konfiguration geladen wurde:

    systemctl show --property=ExecStart docker
    
  4. docker neu starten:

    Sudo systemctl restart docker
    
49
dvir

Die folgenden Entmaskierungsbefehle funktionierten für mich (Ubuntu 18). Hoffe es hilft jemandem da draußen ... :-) 

Sudo systemctl unmask docker.service
Sudo systemctl unmask docker.socket
Sudo systemctl start docker.service
13
S34N

Das gleiche Problem hatte ich nach dem Upgrade des Dockers von 17.05-ce auf 17.06-ce via Docker-Maschine

  1. Aktualisieren Sie "/etc/systemd/system/docker.service.d/10-machine.conf"

    ersetzen

    `docker daemon` => `dockerd`
    

    beispiel aus

    [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=
    

    zu

    [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. Änderungen spülen, indem Sie Folgendes ausführen:

    Sudo systemctl daemon-reload
    
  3. docker neu starten:

    Sudo systemctl restart docker
    
10

Nun, endlich habe ich es behoben

Alles was Sie tun müssen, ist einen anderen Speicher-Treiber zu laden In meinem Fall verwende ich overlay:

  1. Docker-Dienst deaktivieren: Sudo systemctl stop docker.service
  2. Docker Daemon starten (overlay Treiber): Sudo docker daemon -s overlay
  3. Demo-Container ausführen: Sudo docker run hello-world

Um diese Änderungen dauerhaft zu machen, müssen Sie die Datei /etc/default/docker bearbeiten und die Option hinzufügen:

DOCKER_OPTS="-s overlay"

Beim nächsten Laden des Docker-Dienstes wird docker daemon -s overlay ausgeführt.

9
Salva Corts

Ich konnte es nach einem Kernel-Upgrade zum Laufen bringen, indem ich den Anweisungen in diesem Blog folgte.

https://mymemorysucks.wordpress.com/2016/03/31/docker-graphdriver-and-aufs-failed-driver-not-supported-error-after-ubuntu-upgrade/

Sudo apt-get update
Sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

Sudo modprobe aufs

Sudo service docker restart
2
dragon788

Nachdem einige der anderen Antworten angezeigt wurden, bestand das Problem darin, dass der Dienst nicht mit den -s overlay-Optionen ausgeführt wurde.

Ich bemerkte auch, dass das Docker am Ende des Anrufs mit ${DOCKER_OPTS} zu starten versuchte.

Ich konnte export DOCKER_OPTS="-s overlay" (standardmäßig war BOCKER_OPTS leer) und Docker zum Laufen bringen.

1
Seaux

Ich habe diesen Fehler erhalten. 

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

Schließlich fand ich den /etc/docker/daemon.json-Fehler, denn ich füge registry-mirrors hinzu.

{
    "runtimes": {

        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }    

    # I forget to add a comma , here !!!!!!!
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

Nachdem ich es hinzugefügt habe und dann systemctl restart docker, habe ich es gelöst.

0
Jayhello

In meinem Fall erhielt ich die folgende Fehlermeldung von journalctl -xe command

unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character 'â' looking for beginning of object key string

Reinigen Sie einfach /etc/docker/daemon.json mit 

{
}
0

Ich hatte dieses Problem heute nach einem Upgrade auf den Ubuntu-Kernel und habe oben zahlreiche Lösungen ausprobiert. Das einzige, was funktionierte (Ubuntu 16.04.6 LTS), war das Entfernen (oder Umbenennen) des Ordners:/var/lib/docker

Bitte beachten Sie, dass durch dieses alle Docker-Images, Container und Volumes usw. entfernt werden . Verstehen Sie also die Auswirkungen, bevor Sie eine Sicherungskopie anlegen oder erstellen!

Weitere Details finden Sie hier: https://github.com/docker/for-linux/issues/162

0
Lol