1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/daemon/graphdriver
John Howard 2c8522b0a3 LCOW:Enable image push when files have spaces
Signed-off-by: John Howard <jhoward@microsoft.com>

Reported internally at Microsoft through VSO#19696554.
Using the solution from https://groups.google.com/forum/#!topic/Golang-Nuts/DpldsmrhPio
to quote file name and escape single quotes (https://play.golang.org/p/ntk8EEGjfk)

Simple repro steps are something like:

On an ubuntu box run something like
```
docker run -d --rm -p 5000:5000 registry:latest
hostname-I to get the ip address
```

On Windows start the daemon adding `--insecure-registry 10.124.186.18:5000`
(or whatever the IP address from above was)

```
docker run -it alpine sh
/ # echo bar > "with space"​
/ # echo foo > 'single quote space'
/ # exit

docker ps -a
docker commit <containerid>
(note the first few of the image id)
docker tag <first few> 10.124.186.18:5000/test
docker push 10.124.186.18:5000/test
```

Resulting error when pushing the image:

```
PS E:\docker\build\19696554> docker push 10.124.186.18:5000/simpletest2
The push refers to repository [10.124.186.18:5000/simpletest2]​
d328d7f5f277: Pushing [==================================================>]  74.24kB/74.24kB​
503e53e365f3: Layer already exists​
svm.runProcess: command cat /tmp/d59/single quote space failed with exit code 1​
PS E:\docker\build\19696554>
```

After this change pushing the image:
```
PS E:\docker\build\19696554> docker push 10.124.186.18:5000/simpletest2
The push refers to repository [10.124.186.18:5000/simpletest2]
d328d7f5f277: Pushing [==================================================>]  74.24kB/74.24kB
503e53e365f3: Layer already exists
latest: digest: sha256:b9828a2d2a3d2421a4c342f48b7936714b3d8409dc32c103da5f3fb13b54bdbf size: 735
PS E:\docker\build\19696554>
```
2019-02-04 12:07:58 -08:00
..
aufs aufs: get rid of mount() 2018-12-10 20:06:10 -08:00
btrfs pkg/mount: wrap mount/umount errors 2018-12-10 20:07:02 -08:00
copy Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00
devmapper pkg/mount: wrap mount/umount errors 2018-12-10 20:07:02 -08:00
graphtest Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00
lcow LCOW:Enable image push when files have spaces 2019-02-04 12:07:58 -08:00
overlay Add ADD/COPY --chown flag support to Windows 2018-08-13 21:59:11 -07:00
overlay2 overlay2: use index=off if possible 2018-10-11 12:52:57 -07:00
overlayutils Add additional message when backendfs is extfs without d_type support 2018-05-18 10:32:47 +08:00
quota Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00
register Add canonical import comment 2018-02-05 16:51:57 -05:00
vfs Add ADD/COPY --chown flag support to Windows 2018-08-13 21:59:11 -07:00
windows Remove duplicated words in daemon files 2018-10-06 00:06:38 +08:00
zfs pkg/mount: wrap mount/umount errors 2018-12-10 20:07:02 -08:00
counter.go graphdriver: Fix RefCounter memory leak 2018-02-09 10:26:06 +08:00
driver.go Deprecate AuFS storage driver, and add warning 2018-10-26 18:41:46 +02:00
driver_freebsd.go Add canonical import comment 2018-02-05 16:51:57 -05:00
driver_linux.go Add canonical import comment 2018-02-05 16:51:57 -05:00
driver_test.go Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00
driver_unsupported.go Add canonical import comment 2018-02-05 16:51:57 -05:00
driver_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
errors.go Add canonical import comment 2018-02-05 16:51:57 -05:00
fsdiff.go Add layer id to NaiveDiffDriver untar timing log 2018-10-05 16:28:40 -07:00
plugin.go Move plugin client to separate interface 2018-05-30 15:22:10 -04:00
proxy.go Move plugin client creation to the extension point 2018-05-25 15:18:53 -04:00