summary refs log tree commit diff
path: root/gnu/services/docker.scm
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2024-01-04 00:03:40 -0500
committerJohn Kehayias <john.kehayias@protonmail.com>2024-01-04 00:03:40 -0500
commitef4e4c9a2ccc1678182fa6e4409fff13c669fd14 (patch)
treed1f097787a69fa3a7089f26ecfed8b5c267883db /gnu/services/docker.scm
parent42c448ee6e13d165807d83e8c48941bead4847c1 (diff)
parent7b0863f07a113caef26fea13909bd97d250b629e (diff)
downloadguix-ef4e4c9a2ccc1678182fa6e4409fff13c669fd14.tar.gz
Merge branch 'master' into mesa-updates
Change-Id: I46ca25bea98d25150877421c6d5161752afabb25
Diffstat (limited to 'gnu/services/docker.scm')
-rw-r--r--gnu/services/docker.scm12
1 files changed, 11 insertions, 1 deletions
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")
                                   '())