From 7c9be7b7cb71103d8a382a254e8c7a20ce7adce0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 1 Jun 2020 20:54:40 -0400 Subject: 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 (Miscellaneous Services): Update doc. --- gnu/services/docker.scm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'gnu/services') diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index d6dc792821..937dff7bdb 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic ;;; Copyright © 2020 Jakub Kądziołka +;;; Copyright © 2020 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,7 +53,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 +75,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 +110,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")) -- cgit v1.2.3