[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
06/06: services: docker: Add new fields to support proxy.
From: |
guix-commits |
Subject: |
06/06: services: docker: Add new fields to support proxy. |
Date: |
Sun, 5 May 2019 20:25:30 -0400 (EDT) |
apteryx pushed a commit to branch master
in repository guix.
commit 7a31d93a61e96e631d852a48ddf475704b6a9b04
Author: Maxim Cournoyer <address@hidden>
Date: Fri Apr 5 02:34:16 2019 -0400
services: docker: Add new fields to support proxy.
The Docker proxy enables inter-container and outside-to-container loopback,
and is required by the Docker registry server.
* gnu/services/docker.scm (docker-configuration)[proxy,
enable-proxy?]: Add fields.
(docker-shepherd-service): Use them.
(serialize-boolean): New function.
---
gnu/services/docker.scm | 23 ++++++++++++++++++++---
1 file changed, 20 insertions(+), 3 deletions(-)
diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm
index 8b5edf5..94a04c8 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)))))
- branch master updated (f42e4eb -> 7a31d93), guix-commits, 2019/05/05
- 02/06: gnu: Add go-netns., guix-commits, 2019/05/05
- 04/06: gnu: Add docker-libnetwork., guix-commits, 2019/05/05
- 05/06: gnu: Add docker-libnetwork-cmd-proxy., guix-commits, 2019/05/05
- 03/06: gnu: Add go-netlink., guix-commits, 2019/05/05
- 06/06: services: docker: Add new fields to support proxy.,
guix-commits <=
- 01/06: gnu: Add go-sctp., guix-commits, 2019/05/05