diff --git a/doc/guix.texi b/doc/guix.texi index 89a970908d..158261e373 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -33229,6 +33229,17 @@ Enable or disable debug output. @item @code{enable-iptables?} (default @code{#t}) Enable or disable the addition of iptables rules. +@item @code{environment-variables} (default: @code{()}) +List of environment variables to set for @command{dockerd}. + +This must be a list of strings where each string has the form +@samp{@var{key}=@var{value}} as in this example: + +@lisp +(list "LANGUAGE=eo:ca:eu" + "TMPDIR=/tmp/dockerd") +@end lisp + @end table @end deftp diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index ef551480aa..c4d48676b5 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -62,6 +62,9 @@ (define-configuration docker-configuration (enable-iptables? (boolean #t) "Enable addition of iptables rules (enabled by default).") + (environment-variables + (list '()) + "Environment variables to set for dockerd") (no-serialization)) (define %docker-accounts @@ -102,6 +105,7 @@ (define (docker-shepherd-service config) (let* ((docker (docker-configuration-docker config)) (enable-proxy? (docker-configuration-enable-proxy? config)) (enable-iptables? (docker-configuration-enable-iptables? config)) + (environment-variables (docker-configuration-environment-variables config)) (proxy (docker-configuration-proxy config)) (debug? (docker-configuration-debug? config))) (shepherd-service @@ -132,6 +136,8 @@ (define (docker-shepherd-service config) (if #$enable-iptables? "--iptables" "--iptables=false")) + #:environment-variables + (list #$@environment-variables) #:pid-file "/var/run/docker.pid" #:log-file "/var/log/docker.log")) (stop #~(make-kill-destructor)))))