From 80f3812e36cfb738b494343c5a6c20cb65588ad1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 1 Jun 2020 20:54:40 -0400 Subject: [PATCH] gnu: services: docker: Add a debug? parameter. * gnu/services/docker.scm (docker-configuration): Add a debug? field. (containerd-shepherd-service): Pass the "--log-level=debug" argument when DEBUG? is true. (docker-shepherd-service): Pass the "--debug" and "--log-level=debug" arguments when DEBUG? is true. --- doc/guix.texi | 9 +++++++++ gnu/services/docker.scm | 19 +++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index beeda34ea2..de958c9cf1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -26287,6 +26287,15 @@ The Docker package to use. @item @code{containerd} (default: @var{containerd}) The Containerd package to use. +@item @code{proxy} (default @var{docker-libnetwork-cmd-proxy}) +The Docker user-land networking proxy package to use. + +@item @code{enable-proxy?} (default @code{#f}) +Enable or disable the use of the Docker user-land networking proxy. + +@item @code{debug?} (default @code{#f}) +Enable or disable debug output. + @end table @end deftp diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index d6dc792821..ccdb67ed73 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -52,7 +52,10 @@ loop-back communications.") (enable-proxy? (boolean #t) - "Enable or disable the user-land proxy (enabled by default).")) + "Enable or disable the user-land proxy (enabled by default).") + (debug? + (boolean #f) + "Enable or disable debug output.")) (define %docker-accounts (list (user-group (name "docker") (system? #t)))) @@ -71,19 +74,24 @@ loop-back communications.") (mkdir-p #$state-dir)))) (define (containerd-shepherd-service config) - (let* ((package (docker-configuration-containerd config))) + (let* ((package (docker-configuration-containerd config)) + (debug? (docker-configuration-debug? config))) (shepherd-service (documentation "containerd daemon.") (provision '(containerd)) (start #~(make-forkexec-constructor - (list (string-append #$package "/bin/containerd")) + (list (string-append #$package "/bin/containerd") + #$@(if debug? + '("--log-level=debug") + '())) #:log-file "/var/log/containerd.log")) (stop #~(make-kill-destructor))))) (define (docker-shepherd-service config) (let* ((docker (docker-configuration-docker config)) (enable-proxy? (docker-configuration-enable-proxy? config)) - (proxy (docker-configuration-proxy config))) + (proxy (docker-configuration-proxy config)) + (debug? (docker-configuration-debug? config))) (shepherd-service (documentation "Docker daemon.") (provision '(dockerd)) @@ -101,6 +109,9 @@ loop-back communications.") (start #~(make-forkexec-constructor (list (string-append #$docker "/bin/dockerd") "-p" "/var/run/docker.pid" + #$@(if debug? + '("--debug" "--log-level=debug") + '()) (if #$enable-proxy? "--userland-proxy" "") "--userland-proxy-path" (string-append #$proxy "/bin/proxy")) -- 2.26.2