Problem
I can run docker manually
sudo dockerd or /etc/init.d/docker start
but not as a service.
System
Linux g4070 5.4.0-66-generic #74-Ubuntu SMP Wed Jan 27 22:54:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Lin
Client: Docker Engine - Community
Version: 20.10.5
API version: 1.41
Go version: go1.13.15
Git commit: 55c4c88
Built: Tue Mar 2 20:18:20 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.5
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 363e9a8
Built: Tue Mar 2 20:16:15 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.3
GitCommit: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version: 1.0.0-rc92
GitCommit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version: 0.19.0
GitCommit: de40ad0
Client:
Context: default
Debug Mode: false
Plugins:
app: Docker App (Docker Inc., v0.9.1-beta3)
buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)
Server:
Containers: 5
Running: 0
Paused: 0
Stopped: 5
Images: 9
Server Version: 20.10.5
Storage Driver: devicemapper
Pool Name: docker-253:0-54002895-pool
Pool Blocksize: 65.54kB
Base Device Size: 10.74GB
Backing Filesystem: ext4
Udev Sync Supported: true
Data file: /dev/loop3
Metadata file: /dev/loop21
Data loop file: /var/lib/docker/devicemapper/devicemapper/data
Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
Data Space Used: 368MB
Data Space Total: 107.4GB
Data Space Available: 107GB
Metadata Space Used: 17.9MB
Metadata Space Total: 2.147GB
Metadata Space Available: 2.13GB
Thin Pool Minimum Free Space: 10.74GB
Deferred Removal Enabled: true
Deferred Deletion Enabled: true
Deferred Deleted Device Count: 0
Library Version: 1.02.167 (2019-11-30)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc version: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
init version: de40ad0
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.4.0-66-generic
Operating System: Ubuntu 20.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.674GiB
Name: g4070
ID: 7LHW:SAWD:UW57:6FWM:MISB:LKH4:6NIA:ZNWQ:GJPA:XXLK:A3EI:7UVH
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
WARNING: No swap limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
WARNING: No cpu shares support
WARNING: the devicemapper storage-driver is deprecated, and will be removed in a future release.
WARNING: devicemapper: usage of loopback devices is strongly discouraged for production use.
Use --storage-opt dm.thinpooldev to specify a custom block storage device.
Running Docker
I have tried to run docker few ways but only it was possible to do it manually.
Output of sudo service docker start
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
Output of sudo systemctl start docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
Automatic start fails when ever a new system is installed
sudo apt install cgroupfs-mount
...
Unpacking cgroupfs-mount (1.4) ...
Setting up docker-ce (5:20.10.5~3-0~ubuntu-focal) ...
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "start" failed.
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/docker.service.d
└─docker.conf
Active: activating (auto-restart) (Result: exit-code) since Wed 2021-03-03 12:23:21 +0545; 6ms ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Process: 86196 ExecStart=/usr/bin/dockerd --graph=/mnt/docker-data --storage-driver=overlay --storage-opt=dm.basesize=30G (code=exited, status=1/F
AILURE)
Main PID: 86196 (code=exited, status=1/FAILURE)
dpkg: error processing package docker-ce (--configure):
installed docker-ce package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of docker-ce-rootless-extras:
docker-ce-rootless-extras depends on docker-ce; however:
Package docker-ce is not configured yet.
dpkg: error processing package docker-ce-rootless-extras (--configure):
dependency problems - leaving unconfigured
Setting up cgroupfs-mount (1.4) ...
No apport report written because the error message indicates it's a follow-up error from a previous failure.
Processing triggers for man-db (2.9.1-1) .
..
Processing triggers for systemd (245.4-4ubuntu3.4) ...
Errors were encountered while processing:
docker-ce
docker-ce-rootless-extras
E: Sub-process /usr/bin/dpkg returned an error code (1)
Output of journactl -xe
-- The unit docker.service has entered the 'failed' state with result 'exit-code'.
Mar 03 12:27:09 g4070 systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: A start job for unit docker.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- A start job for unit docker.service has finished with a failure.
--
-- The job identifier is 5797 and the job result is failed.
Manual, output of sudo dockerd
INFO[2021-03-03T12:45:51.199161171+05:45] Starting up
INFO[2021-03-03T12:45:51.204120548+05:45] detected 127.0.0.53 nameserver, assuming systemd-resolved, so using resolv.conf: /run/systemd/resolve/resolv.conf
INFO[2021-03-03T12:45:51.205022694+05:45] parsed scheme: "unix" module=grpc
INFO[2021-03-03T12:45:51.205048857+05:45] scheme "unix" not registered, fallback to default scheme module=grpc
INFO[2021-03-03T12:45:51.205083723+05:45] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock <nil> 0 <nil>}] <nil> <nil>} module=grpc
INFO[2021-03-03T12:45:51.205099311+05:45] ClientConn switching balancer to "pick_first" module=grpc
INFO[2021-03-03T12:45:51.206048454+05:45] parsed scheme: "unix" module=grpc
INFO[2021-03-03T12:45:51.206069262+05:45] scheme "unix" not registered, fallback to default scheme module=grpc
INFO[2021-03-03T12:45:51.206088901+05:45] ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/containerd.sock <nil> 0 <nil>}] <nil> <nil>} module=grpc
INFO[2021-03-03T12:45:51.206101916+05:45] ClientConn switching balancer to "pick_first" module=grpc
INFO[2021-03-03T12:45:51.289599183+05:45] ignoring event container=784e314cf411d8f314777582559876069f3bbf8d86ce88923daa4d3db6a3a5f9 module=libcontainerd namespace=plugins.moby topic=/tasks/delete type="*events.TaskDelete"
WARN[2021-03-03T12:45:52.432289971+05:45] Usage of loopback devices is strongly discouraged for production use. Please use `--storage-opt dm.thinpooldev` or use `man dockerd` to refer to dm.thinpooldev section. storage-driver=devicemapper
WARN[2021-03-03T12:45:52.485540322+05:45] Base device already exists and has filesystem ext4 on it. User specified filesystem will be ignored. storage-driver=devicemapper
INFO[2021-03-03T12:45:52.542597632+05:45] [graphdriver] using prior storage driver: devicemapper
WARN[2021-03-03T12:45:52.542678785+05:45] [graphdriver] WARNING: the devicemapper storage-driver is deprecated, and will be removed in a future release
WARN[2021-03-03T12:45:52.668450021+05:45] Your kernel does not support swap memory limit
WARN[2021-03-03T12:45:52.668523341+05:45] Your kernel does not support CPU realtime scheduler
WARN[2021-03-03T12:45:52.668557411+05:45] Your kernel does not support cgroup blkio weight
WARN[2021-03-03T12:45:52.668583887+05:45] Your kernel does not support cgroup blkio weight_device
INFO[2021-03-03T12:45:52.669019536+05:45] Loading containers: start.
INFO[2021-03-03T12:45:54.319361138+05:45] Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address
INFO[2021-03-03T12:45:54.977967148+05:45] Loading containers: done.
INFO[2021-03-03T12:45:55.018784152+05:45] Docker daemon commit=363e9a8 graphdriver(s)=devicemapper version=20.10.5
INFO[2021-03-03T12:45:55.018938010+05:45] Daemon has completed initialization
INFO[2021-03-03T12:45:55.066237573+05:45] API listen on /var/run/docker.sock
Attempts To Resolve
Uninstall and reinstall
I have tried to uninstall and reinstall. Even rebooted the system after uninstall. I can start manually but not as a service.
Failed trial with start/stop cgroup
As there was listed some warning with cgroups, I even tried this approach which did not work out.
service docker stop
service containerd stop
cgroupfs-umount
cgroupfs-mount
service containerd start
service docker start
Well, I was unable to sudo cgroupfs-umount
rmdir: failed to remove 'blkio': Read-only file system
rmdir: failed to remove 'cpu': Read-only file system
rmdir: failed to remove 'cpu,cpuacct': Read-only file system
rmdir: failed to remove 'cpuacct': Read-only file system
rmdir: failed to remove 'cpuset': Read-only file system
rmdir: failed to remove 'devices': Read-only file system
rmdir: failed to remove 'freezer': Read-only file system
rmdir: failed to remove 'hugetlb': Read-only file system
rmdir: failed to remove 'memory': Read-only file system
rmdir: failed to remove 'net_cls': Read-only file system
rmdir: failed to remove 'net_cls,net_prio': Read-only file system
rmdir: failed to remove 'net_prio': Read-only file system
rmdir: failed to remove 'perf_event': Read-only file system
rmdir: failed to remove 'pids': Read-only file system
rmdir: failed to remove 'rdma': Read-only file system
rmdir: failed to remove 'systemd': Read-only file system
Stop/Disable Docker Service
There is a warning message thrown while stopping docker.
sudo /etc/init.d/docker stop or sudo service docker stop or sudo systemctl stop docker
Stopping docker (via systemctl): docker.serviceWarning: Stopping docker.service, but it can still be activated by: docker.socket
sudo /etc/init.d/docker status
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; disabled; vendor preset: enabled)
Active: inactive (dead) since Wed 2021-03-31 16:43:40 +0545; 6s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Process: 107187 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=0/SUCCESS)
Main PID: 107187 (code=exited, status=0/SUCCESS)
The warning means if we try to connect to the docker socket while the docker service is not running, then systemd will automatically start docker. It can be suppressed by deleting docker.socket and docker.service files but that might not help re-run docker, so must be done
Message thrown when I try to disable docker via sudo systemctl disable docker
Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable docker
Removed the warning message by unmasking the docker service.
Masking a service prevents the service from being started manually or automatically, which is a stronger version of disable. Masking disable all symlinks of the specified unit file are removed.
systemctl unmask docker.service
systemctl unmask docker.socket
systemctl list-unit-files | grep docker // Check the status
docker-ceand make sure that all packages are installed and configured. – Artur Meinild Mar 03 '21 at 08:28