Я пытаюсь передать образ докера между двумя компьютерами:
- машина 1
- Ubuntu 16.04
- докер 17.06.2
- машина 2
- Убунту 18.10
- докер 18.03.1
Вот что я сделал:
-машина 1:
docker save -o /path/to/usb/image.tar image
-Перемещение USB-накопителя с машины 1 на машину 2
-машина 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"
У кого-нибудь есть объяснение этому?
исследования
Это может быть проблема с моей флешкой, но:
- Я пробовал это дважды, поэтому я сомневаюсь, что это из-за неправильной копии
- Не я выполнил
diff
междуimage.tar
на машине 1 иimage.tar
на флешку, никакой разницы - Я использую эту флешку интенсивно почти каждый день, она отлично работает
Кроме того, после копирования архива изображений на USB-накопитель, я могу загрузить его обратно на компьютер 1.
Наконец, я попытался выполнить загрузку докера, читая вместо стандартного файла stdin, но все еще безуспешно:
$ cat /path/to/usb/image.tar | docker load
invalid diffID for layer 0: expected "sha256:36018b5e978717a047892794aebab513ba6856dbe1bdfeb478ca1219df2c7e9c", got "sha256:a81b174512918f17d0735e6c32075c2437c22fac6b13c1d20c92449406f66bcd"
Он отлично работает с машиной 3, Ubuntu 16.04, Docker 18.05.0.
Я обновил до докера 18.06.0 на машине 1, до сих пор не повезло.