~ruther/guix-local

2f642b602398ab32b18faceecd074f49da92e95e — Connor Clark 2 years ago c880652
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>
2 files changed, 14 insertions(+), 1 deletions(-)

M doc/guix.texi
M gnu/services/docker.scm
M doc/guix.texi => doc/guix.texi +3 -0
@@ 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


M gnu/services/docker.scm => gnu/services/docker.scm +11 -1
@@ 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")
                                  '())