(shepherd-service
(documentation "Docker daemon.")
(provision '(dockerd))
- ;; Note: elogind is required because it's mounting the cgroups.
- (requirement '(containerd elogind))
+ (requirement '(containerd
+ dbus-system
+ elogind
+ file-system-/sys/fs/cgroup/blkio
+ file-system-/sys/fs/cgroup/cpu
+ file-system-/sys/fs/cgroup/cpuset
+ file-system-/sys/fs/cgroup/devices
+ file-system-/sys/fs/cgroup/memory
+ ; TODO: file-system-/sys/fs/cgroup/pids
+ networking
+ udev))
(start #~(make-forkexec-constructor
(list (string-append #$docker "/bin/dockerd")
"-p" "/var/run/docker.pid")
(service-extension activation-service-type
%docker-activation)
(service-extension shepherd-root-service-type
- (lambda args
- (list (apply containerd-shepherd-service args)
- (apply docker-shepherd-service args))))
+ (lambda (config)
+ (list (containerd-shepherd-service config)
+ (docker-shepherd-service config))))
(service-extension account-service-type
(const %docker-accounts))))
(default-value (docker-configuration))))