Не удалось импортировать Docker: «Ошибка ответа от демона: Ошибка при обработке файла tar (состояние выхода 1): файл существует» - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь docker import изображение, что приводит к ошибке в теме. Я подозреваю, что это из-за жестких ссылок; это образец, свидетели которого я пытаюсь выяснить, но понятия не имею, как сортировать.

Точные шаги, которые я предпринимаю: извлечение манифеста изображения -> получение блобов слоя -> хронологическое извлечение каждого слоя -> каталог архива -> docker import. Примечание: это сделано для того, чтобы избежать CLI; Мне известно о pull:)

Это происходит с парой изображений, но, например, мы можем посмотреть на https://hub.docker.com/_/wordpress/.

Подробнее:

Запуск от имени пользователя root; Docker host - это удаленная виртуальная машина (похоже, ничего не изменилось)

OS:

ProductName:    Mac OS X
ProductVersion: 10.14
BuildVersion:   18A391

Edit:

Более полезная информация - я пытался итеративно создавать изображение из каждого слоя. Первая пара слоев работала ... (импорт 1, 1 + 2, 1 + 2 + 3 ...), но определенный слой вызвал эту ошибку при попытке импорта.

Я извлек этот слой и не нашел ничего полезного ... Резюме:

Leons-MacBook-Pro:layers_cache leongold$ mkdir ./image
Leons-MacBook-Pro:layers_cache leongold$ tar xf sha256\:f7e2b70d04ae3f516c08c24d88de0f82699aaf3ee98af6eb208bd234136142b4 -C ./image/
Leons-MacBook-Pro:layers_cache leongold$ tar xf sha256\:744aedb7995c4cdfa910eed9f3035bdfe6c1670cb8c34b155955961d4123ca79 -C ./image/
Leons-MacBook-Pro:layers_cache leongold$ tar xf sha256\:07afe22f8a5850183a444ea563d5b16a0218245dda6ee319c286f72c3e8ea552 -C ./image/
Leons-MacBook-Pro:layers_cache leongold$ tar xf sha256\:c7bf4f31c4a4525e2fb402df85bfbd733cd3bfb13560584e4d4ce08b019bb86c -C ./image/
Leons-MacBook-Pro:layers_cache leongold$ tar xf sha256\:c7bf4f31c4a4525e2fb402df85bfbd733cd3bfb13560584e4d4ce08b019bb86c -C ./image/
Leons-MacBook-Pro:layers_cache leongold$ tar xf sha256\:b528e75732cc2db8e3a6d66b13717930f34e079efdfe5184da66848842a72c6f -C ./image/
Leons-MacBook-Pro:layers_cache leongold$ tar xf sha256\:27e7d214ded21411ee7ddaf176b4449d75fa93693be7735ad851a31c83ab9791 -C ./image
Leons-MacBook-Pro:layers_cache leongold$ tar cf image.tar -C ./image/ .
Leons-MacBook-Pro:layers_cache leongold$ docker import image.tar
Error response from daemon: Error processing tar file(exit status 1): file exists

До последнего слоя import работает. Этот слой в основном имеет конфигурацию, связанную с Apache, так что я думаю, что теория жестких ссылок отключена.

1 Ответ

0 голосов
/ 16 апреля 2019

Я не уверен, какова точная причина, но извлечение слоев по одному - определенно не тот путь;слои должны объединяться, а не накапливаться.

Я пошел по маршруту docker load, в основном реализовав https://github.com/moby/moby/blob/master/contrib/download-frozen-image-v2.sh,, который, кажется, работает хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...