I am trying to transfer a docker image between two machines:
- machine 1
- ubuntu 16.04
- docker 17.06.2
- machine 2
- ubuntu 18.10
- docker 18.03.1
This is what I did:
-machine 1:
docker save -o /path/to/usb/image.tar image
-USB stick transfer from machine 1 to machine 2
-machine 2:
$ docker load -i /path/to/usb/image.tar
36018b5e9787: Loading layer [==================================================>] 200.1MB/200.1MB
invalid diffID for layer 0: expected "sha256:36018b5e978717a047892794aebab513ba6856dbe1bdfeb478ca1219df2c7e9c", got "sha256:a81b174512918f17d0735e6c32075c2437c22fac6b13c1d20c92449406f66bcd"
Does someone have an explanation for this?
Investigations
It could be a problem with my USB stick, but:
- I tried this twice, so I doubt it is due to a wrong copy
- I performed a
diff
betweenimage.tar
on machine 1 &image.tar
on USB stick, no difference - I use this USB stick intensively nearly everyday, it works fine
Also, after having copied the image archive on the USB stick, I am able to load it back onto machine 1.
Finally, I tried to perform the docker load by reading from stdin instead from file, still with no success:
$ cat /path/to/usb/image.tar | docker load
invalid diffID for layer 0: expected "sha256:36018b5e978717a047892794aebab513ba6856dbe1bdfeb478ca1219df2c7e9c", got "sha256:a81b174512918f17d0735e6c32075c2437c22fac6b13c1d20c92449406f66bcd"
It works fine with machine 3, ubuntu 16.04, docker 18.05.0.
I upgraded to docker 18.06.0 on machine 1, still no luck.