Docker не может загрузить изображение, загруженное с s3Linux

Ответить Пред. темаСлед. тема
Гость
 Docker не может загрузить изображение, загруженное с s3

Сообщение Гость »

Резюме
Я создаю программу, которая автоматически создает файлы Dockerfile и загружает полученный образ в корзину S3:
chmod 777 docker_images && sudo docker build -t ${projectID} -o type=tar,dest=docker_images/${projectID}.tar ./projects/${projectID}
Тогда я делаю:
const params = {
Bucket: "deploystorage",
Key: `images/${projectID}.tar`,
Body: imageStream
};
s3.upload(params)

Весь этот код работает.
Наконец, я вхожу в экземпляр (ssh), устанавливаю Docker, а затем использую следующую команду для загрузки это:
wget -O $1 http://XX.XX.XX.XX/image/$1?token=$2

$1 — имя изображения, $2 — токен, сгенерированный при создании изображения. Предположим, что это правильно.
Путь — это запрос на получение данных к имеющемуся у меня серверу, который проверяет, соответствует ли токен изображению, и если да, отправляет файл из корзины S3.
Затем я запускаю следующие команды:
sudo docker load -i $1
sudo docker run -d $1

И снова $1 — это имя изображения. (В данном случае путь к изображению считается правильным)
Проблема...
Все работает отлично, пока я не попробуйте загрузить изображение:
sudo docker load -i test1.tar
open /var/snap/docker/common/var-lib-docker/tmp/docker-import-XXXXXXXXX/boot/json: no such file or directory


Часть XXXXXXXXX меняется при каждом запуске

Что я Пробовал
  • Переименовал файл с test1 на test1.tar (оба не сработали)
  • Я также попробовал импортировать образы Docker, и это работает:
~/Deploy$ sudo docker image import test1.tar
sha256:e42e55791f3e8c98cf679197c75c1611d853f798cb13b58809198894c7ec5868

Пока я не попытаюсь запустить образ:
~/Deploy$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
e42e55791f3e 7 seconds ago 185MB

~/Deploy$ sudo docker run -d e42e55791f3e
docker: Error response from daemon: No command specified.
See 'docker run --help'.

То же самое происходит с docker-контейнером create e42e55791f3e
Я немного покопался на форумах с людьми, у которых были подобные ошибки, но ничего подходит для моего варианта использования.
  • Проверил контрольные суммы md5 файла до и после загрузки в s3, обе совпали

    # on the download side (after s3)
    > md5sum test1
    2dc24866ce25bc1470a153ad745435cf test1

    # on the upload side (before s3)
    > md5sum docker_images/test1.tar
    2dc24866ce25bc1470a153ad745435cf docker_images/test1.tar
  • переустановил докер, все равно не работает, переустановил, но со снапом, все равно не работает
  • chmod 777 на изображении все равно не сработало
По сути, ничего не работает, и у меня нет потенциальных клиентов выключен, Интернет бесполезен, у многих людей возникает одна и та же ошибка, но ни у кого не возникает такой же проблемы (у них это было вызвано либо отсутствием разрешений - что я пробовал с помощью chmod 777, несовпадением контрольных сумм - опять же, моим совпадает или было исправлено после переустановки докера - что я тоже попробовал)
  • Установка из предварительно загруженной версии также вызывает ту же ошибку. Это заставляет меня думать, что это не имеет ничего общего с s3 и что-то не так с моей командой сборки. Я не уверен.
Информация
Версия Docker:
~/Deploy$ docker -v
Docker version 24.0.5, build ced0996

Версия для Ubuntu:ubuntu-jammy-22.04 (running on AMD64)
  • Docker установлен с помощью Snap
Если вам понадобится еще что-нибудь, дайте мне знать.
Я запустил это через ChatGPT, он посоветовал мне проверить разрешения временной папки:
~/Deploy$ sudo stat /var/snap/docker/common/v
ar-lib-docker/tmp/
File: /var/snap/docker/common/var-lib-docker/tmp/
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: ca01h/51713d Inode: 129831 Links: 2
Access: (0700/drwx------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2024-04-09 03:59:17.744710917 +0000
Modify: 2024-04-09 03:45:27.335506040 +0000
Change: 2024-04-09 03:45:27.335506040 +0000
Birth: 2024-04-09 02:50:28.020293941 +0000

Интересно отметить, что мне не удалось читать без sudo:
~/Deploy$ stat /var/snap/docker/common/var-li
b-docker/tmp/
stat: cannot statx '/var/snap/docker/common/var-lib-docker/tmp/': Permission denied


Подробнее здесь: https://stackoverflow.com/questions/782 ... ed-from-s3
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • CI 3.0 – файл контроллера, в который я хочу загрузить загруженное изображение с панели управления клиента портала.
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Созданная папка и загруженное изображение не отображаются в moxiemanager
    Anonymous » » в форуме Php
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Созданная папка и загруженное изображение не отображаются в moxiemanager
    Anonymous » » в форуме Php
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Как нарисовать изображение, загруженное из IFormFile, с помощью PDFSharp?
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • ArCore не будет отслеживать загруженное изображение
    Anonymous » » в форуме Android
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Linux»