summaryrefslogtreecommitdiff
path: root/gnu/services/docker.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-05-24 22:44:51 +0200
committerMarius Bakke <mbakke@fastmail.com>2019-05-24 22:44:51 +0200
commitddb4062784c66ecc0c42910b209dc80356a197ea (patch)
treed61154cfe888201707c2b4708bd6297ac371f0b0 /gnu/services/docker.scm
parent563ecba5cf1dac64818fa7c452fcb191ec28e0fd (diff)
parentdbe533292b2af2faad371c10bc9b3f03193f94b7 (diff)
Merge branch 'master' into staging
Diffstat (limited to 'gnu/services/docker.scm')
-rw-r--r--gnu/services/docker.scm23
1 files changed, 20 insertions, 3 deletions
diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm
index 8b5edf5cb..94a04c899 100644
--- a/gnu/services/docker.scm
+++ b/gnu/services/docker.scm
@@ -31,13 +31,25 @@
#:export (docker-configuration
docker-service-type))
+;;; We're not using serialize-configuration, but we must define this because
+;;; the define-configuration macro validates it exists.
+(define (serialize-boolean field-name val)
+ "")
+
(define-configuration docker-configuration
(docker
(package docker)
"Docker daemon package.")
(containerd
(package containerd)
- "containerd package."))
+ "containerd package.")
+ (proxy
+ (package docker-libnetwork-cmd-proxy)
+ "The proxy package to support inter-container and outside-container
+loop-back communications.")
+ (enable-proxy?
+ (boolean #t)
+ "Enable or disable the user-land proxy (enabled by default)."))
(define %docker-accounts
(list (user-group (name "docker") (system? #t))))
@@ -66,7 +78,9 @@
(stop #~(make-kill-destructor)))))
(define (docker-shepherd-service config)
- (let* ((docker (docker-configuration-docker config)))
+ (let* ((docker (docker-configuration-docker config))
+ (enable-proxy? (docker-configuration-enable-proxy? config))
+ (proxy (docker-configuration-proxy config)))
(shepherd-service
(documentation "Docker daemon.")
(provision '(dockerd))
@@ -83,7 +97,10 @@
udev))
(start #~(make-forkexec-constructor
(list (string-append #$docker "/bin/dockerd")
- "-p" "/var/run/docker.pid")
+ "-p" "/var/run/docker.pid"
+ (if #$enable-proxy? "--userland-proxy" "")
+ "--userland-proxy-path" (string-append #$proxy
+ "/bin/proxy"))
#:pid-file "/var/run/docker.pid"
#:log-file "/var/log/docker.log"))
(stop #~(make-kill-destructor)))))