~ruther/guix-local

2b2337f275a6421a0d0964c54987df4ac74162e6 — Zheng Junjie 1 year, 8 months ago 425cf1f
services: oci-container: Fix provided image is string.

gnu/services/docker.scm (oci-container-shepherd-service): When image is
oci-image, call %oci-image-loader.

Change-Id: I26105e82643affe9e7037975e42ec9690089545b
1 files changed, 13 insertions(+), 12 deletions(-)

M gnu/services/docker.scm
M gnu/services/docker.scm => gnu/services/docker.scm +13 -12
@@ 687,18 687,19 @@ operating-system, gexp or file-like records but ~a was found")
                        (if (oci-image? image) name image) "."))
                      (start
                       #~(lambda ()
                          (when #$(oci-image? image)
                            (invoke #$(%oci-image-loader
                                       name image image-reference)))
                          (fork+exec-command
                           ;; docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
                           (list #$docker "run" "--rm" "--name" #$name
                                 #$@options #$@extra-arguments
                                 #$image-reference #$@command)
                           #:user #$user
                           #:group #$group
                           #:environment-variables
                           (list #$@host-environment))))
                           #$@(if (oci-image? image)
                                  #~((invoke #$(%oci-image-loader
                                                name image image-reference)))
                                  #~())
                           (fork+exec-command
                            ;; docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
                            (list #$docker "run" "--rm" "--name" #$name
                                  #$@options #$@extra-arguments
                                  #$image-reference #$@command)
                            #:user #$user
                            #:group #$group
                            #:environment-variables
                            (list #$@host-environment))))
                      (stop
                       #~(lambda _
                           (invoke #$docker "rm" "-f" #$name)))