Docker does not find volume?

NethServer Version: 7.9.2009 (final)
Module: nethserver-docker

Hi,
I installed nethserver-docker using the Software Center. Thereafter I followed the instructions shown here
https://docs.nethserver.org/en/v7/docker.html

but docker didn’t start.
The outputs are:

[root@nethserver ~]# systemctl status docker
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─nethserver.conf
   Active: failed (Result: start-limit) since Sun 2021-11-14 12:17:53 CET; 34min ago
     Docs: https://docs.docker.com
  Process: 19909 ExecStart=/usr/bin/dockerd --config-file=/etc/docker/docker.conf (code=exited, status=1/FAILURE)
 Main PID: 19909 (code=exited, status=1/FAILURE)

Nov 14 12:17:51 nethserver systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Nov 14 12:17:51 nethserver systemd[1]: Failed to start Docker Application Container Engine.
Nov 14 12:17:51 nethserver systemd[1]: Unit docker.service entered failed state.
Nov 14 12:17:51 nethserver systemd[1]: docker.service failed.
Nov 14 12:17:53 nethserver systemd[1]: docker.service holdoff time over, scheduling restart.
Nov 14 12:17:53 nethserver systemd[1]: Stopped Docker Application Container Engine.
Nov 14 12:17:53 nethserver systemd[1]: start request repeated too quickly for docker.service
Nov 14 12:17:53 nethserver systemd[1]: Failed to start Docker Application Container Engine.
Nov 14 12:17:53 nethserver systemd[1]: Unit docker.service entered failed state.
Nov 14 12:17:53 nethserver systemd[1]: docker.service failed. 


[root@nethserver ~]# systemctl restart docker
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.


[root@nethserver ~]# docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

The /var/log/docker/docker.log says:

Nov 14 12:57:58 nethserver dockerd: time="2021-11-14T12:57:58.494179756+01:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 14 12:57:58 nethserver dockerd: time="2021-11-14T12:57:58.497726753+01:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 14 12:57:58 nethserver dockerd: time="2021-11-14T12:57:58.497752083+01:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 14 12:57:58 nethserver dockerd: time="2021-11-14T12:57:58.497772953+01:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock
<nil> 0 <nil>}] <nil> <nil>}" module=grpc
Nov 14 12:57:58 nethserver dockerd: time="2021-11-14T12:57:58.497782444+01:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 14 12:57:58 nethserver dockerd: time="2021-11-14T12:57:58.499061636+01:00" level=warning msg="[graphdriver] WARNING: the devicemapper storage-driver is deprecated, and will b
e removed in a future release"
Nov 14 12:57:58 nethserver dockerd: time="2021-11-14T12:57:58.550668194+01:00" level=error msg="File descriptor 3 (socket:[43434]) leaked on pvdisplay invocation. Parent PID 2268
1: /usr/bin/dockerd\nFile descriptor 13 (/dev/mapper/control) leaked on pvdisplay invocation. Parent PID 22681: /usr/bin/dockerd\n  Failed to find physical volume \"/dev/sda\".\n
" error="exit status 5"
Nov 14 12:57:58 nethserver dockerd: failed to start daemon: error initializing graphdriver: File descriptor 3 (socket:[43434]) leaked on pvcreate invocation. Parent PID 22681: /u
sr/bin/dockerd
Nov 14 12:57:58 nethserver dockerd: File descriptor 13 (/dev/mapper/control) leaked on pvcreate invocation. Parent PID 22681: /usr/bin/dockerd
Nov 14 12:57:58 nethserver dockerd: Device /dev/sda excluded by a filter.
Nov 14 12:57:58 nethserver dockerd: : exit status 5
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.709553596+01:00" level=info msg="Starting up"
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.712810003+01:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.712835063+01:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.712859622+01:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock
<nil> 0 <nil>}] <nil> <nil>}" module=grpc
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.712873773+01:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.716769181+01:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.716788771+01:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.716805811+01:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock
<nil> 0 <nil>}] <nil> <nil>}" module=grpc
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.716815051+01:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.717538662+01:00" level=warning msg="[graphdriver] WARNING: the devicemapper storage-driver is deprecated, and will b
e removed in a future release"
Nov 14 12:58:00 nethserver dockerd: time="2021-11-14T12:58:00.772545627+01:00" level=error msg="File descriptor 3 (socket:[43434]) leaked on pvdisplay invocation. Parent PID 2269
8: /usr/bin/dockerd\nFile descriptor 13 (/dev/mapper/control) leaked on pvdisplay invocation. Parent PID 22698: /usr/bin/dockerd\n  Failed to find physical volume \"/dev/sda\".\n
" error="exit status 5"
Nov 14 12:58:00 nethserver dockerd: failed to start daemon: error initializing graphdriver: File descriptor 3 (socket:[43434]) leaked on pvcreate invocation. Parent PID 22698: /u
sr/bin/dockerd
Nov 14 12:58:00 nethserver dockerd: File descriptor 13 (/dev/mapper/control) leaked on pvcreate invocation. Parent PID 22698: /usr/bin/dockerd
Nov 14 12:58:00 nethserver dockerd: Device /dev/sda excluded by a filter.
Nov 14 12:58:00 nethserver dockerd: : exit status 5
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.957759508+01:00" level=info msg="Starting up"
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.959515742+01:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.959562302+01:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.959594623+01:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock
<nil> 0 <nil>}] <nil> <nil>}" module=grpc
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.959626212+01:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.963320210+01:00" level=info msg="parsed scheme: \"unix\"" module=grpc
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.963356220+01:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.963399820+01:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock
<nil> 0 <nil>}] <nil> <nil>}" module=grpc
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.963417410+01:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
Nov 14 12:58:02 nethserver dockerd: time="2021-11-14T12:58:02.969030202+01:00" level=warning msg="[graphdriver] WARNING: the devicemapper storage-driver is deprecated, and will b
e removed in a future release"
Nov 14 12:58:03 nethserver dockerd: time="2021-11-14T12:58:03.023517456+01:00" level=error msg="File descriptor 3 (socket:[43434]) leaked on pvdisplay invocation. Parent PID 2271
7: /usr/bin/dockerd\nFile descriptor 13 (/dev/mapper/control) leaked on pvdisplay invocation. Parent PID 22717: /usr/bin/dockerd\n  Failed to find physical volume \"/dev/sda\".\n
" error="exit status 5"
Nov 14 12:58:03 nethserver dockerd: failed to start daemon: error initializing graphdriver: File descriptor 3 (socket:[43434]) leaked on pvcreate invocation. Parent PID 22717: /u
sr/bin/dockerd
Nov 14 12:58:03 nethserver dockerd: File descriptor 13 (/dev/mapper/control) leaked on pvcreate invocation. Parent PID 22717: /usr/bin/dockerd
Nov 14 12:58:03 nethserver dockerd: Device /dev/sda excluded by a filter.
Nov 14 12:58:03 nethserver dockerd: : exit status 5

I think the issue shown in the logfile
Failed to find physical volume \"/dev/sda\"
is the cause of my problem to start docker, but to be honestly I dont know why?

    [root@nethserver ~]# fdisk -l /dev/sda
    Disk /dev/sda: 34.4 GB, 34359738368 bytes, 67108864 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x000e8405

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1            2048     2097151     1047552   83  Linux
    /dev/sda2   *     2097152     4194303     1048576   83  Linux
    /dev/sda3         4194304    27492351    11649024   83  Linux
    /dev/sda4        27492352    67108863    19808256    5  Extended
    /dev/sda5        27496448    35622911     4063232   82  Linux swap / Solaris

Does anybody know what’s wrong here?
Do I need a separate partition for docker?

Kind Regards
Pete

You may use an lvm device to increase performance but it’s not needed.

I guess you configured the lvm device but the disk needs to be free as the whole block device is used.

To remove the lvmdevice config:

config setprop docker DirectLvmDevice ''
signal-event nethserver-docker-update

Hi Markus,

You may use an lvm device to increase performance but it’s not needed.

That’s good to know, I thought I have to set a device cause it was mentioned in the DOC.
Just to confirm that I understood this one correctly. Either docker uses a separate logical volume, it has to be totally free and is used by docker exclusively or (without LVM) docker uses a place somewhere under the root (/ ) tree. In the last case I don’t have to set a device?

No, it works without setting a device too.

:+1: I didn’t know that.

You mentioned that the performance will be better with LVM. Does LVM increase the overall performance of the system or just the performance of docker?

The setting is just for docker to use a seperate block device.
LVM is used by default in NethServer.

When I installed nethserver on my machine couples of years ago I didn‘t use LVM at all, not to have another layer of complexity.
I want to change the FQDN of my nethserver ( using AD) and therefore I think it would be the best to make a new install of nethserver instead of changing everything manually. This would be a chance to change to LVM, I‘ll think about it.

In case using LVM, would it make sense to create a logical volume /var/lib/docker to use it as the ‘DirectLVM Device’ ?

No, you need a block device, see also docker docs.