diff options
author | Connor Clark <connor@psyleft.com> | 2023-12-28 23:47:37 -0500 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2024-01-03 15:32:01 +0100 |
commit | 2f642b602398ab32b18faceecd074f49da92e95e (patch) | |
tree | 2b11f929d5e937f5bd5469699fa9b126536fa680 | |
parent | c880652fec3303c0d57c076f7187d95d9396983f (diff) |
services: docker: Add config-file option.
* gnu/services/docker.scm (docker-configuration)[config-file] Add file-like
field.
* doc/guix.texi (Docker Service): Add information about config-file.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
-rw-r--r-- | doc/guix.texi | 3 | ||||
-rw-r--r-- | gnu/services/docker.scm | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 3002cdfa13..924dbf23ba 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -39711,6 +39711,9 @@ This must be a list of strings where each string has the form "TMPDIR=/tmp/dockerd") @end lisp +@item @code{config-file} (type: maybe-file-like) +JSON configuration file pass to @command{dockerd}. + @end table @end deftp diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index 72ef7d74db..4d32b96847 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -61,6 +61,8 @@ oci-container-service-type oci-container-shepherd-service)) +(define-maybe file-like) + (define-configuration docker-configuration (docker (file-like docker) @@ -87,6 +89,9 @@ loop-back communications.") (environment-variables (list '()) "Environment variables to set for dockerd") + (config-file + (maybe-file-like) + "JSON configuration file to pass to dockerd") (no-serialization)) (define %docker-accounts @@ -131,7 +136,8 @@ loop-back communications.") (enable-iptables? (docker-configuration-enable-iptables? config)) (environment-variables (docker-configuration-environment-variables config)) (proxy (docker-configuration-proxy config)) - (debug? (docker-configuration-debug? config))) + (debug? (docker-configuration-debug? config)) + (config-file (docker-configuration-config-file config))) (shepherd-service (documentation "Docker daemon.") (provision '(dockerd)) @@ -144,6 +150,10 @@ loop-back communications.") (start #~(make-forkexec-constructor (list (string-append #$docker "/bin/dockerd") "-p" "/var/run/docker.pid" + #$@(if (not (eq? config-file %unset-value)) + (list #~(string-append + "--config-file=" #$config-file)) + '()) #$@(if debug? '("--debug" "--log-level=debug") '()) |