У меня есть файл докера, который собран из базового образа node:bullseye-slim
Ниже приведен базовый файл докера.
FROM --platform=linux/amd64 node:bullseye-slim
RUN cat /etc/apt/sources.list
RUN apt-get update -y
RUN apt-get install curl -y
Изначально я не использовал --platform=linux/amd64
, и сборка завершилась без ошибок, но это привело к сборке образа в архитектуре arm/64
, что привело к проблемам с запуском образа. Основываясь на своем поиске, я обнаружил, что добавление --platform=linux/amd64
гарантирует, что образ построен на архитектуре x86, как того требует одна из библиотек, которые я использую.
Поэтому я решил добавить --platform=linux/amd64
. Но с тех пор, когда я пытаюсь построить образ, он застревает на шаге RUN apt-get update -y
.
Я оставил его работать на ночь (более 10 часов), и он все равно застрял на ступеньке.
Я также запустил сборку с флагом --progress=plain
, чтобы получить более подробные логи, но логов для apt-get update
нет, и кажется, что она просто застряла на шаге.
Вывод следующий
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 30B
#1 transferring dockerfile: 331B done
#1 DONE 0.0s
#2 [internal] load .dockerignore
#2 transferring context: 34B done
#2 DONE 0.0s
#3 [internal] load metadata for docker.io/library/node:bullseye-slim
#3 DONE 1.2s
#4 [1/8] FROM docker.io/library/node:bullseye-slim@sha256:22a517a42af0f2bf961e12daa3a940244e5ddf450c6da6c0e245b652f1027713
#4 DONE 0.0s
#5 [2/8] RUN cat /etc/apt/sources.list
#5 CACHED
#6 [internal] load build context
#6 transferring context: 757B done
#6 DONE 0.0s
#7 [3/8] RUN apt-get update -y
Я использую это на новом MacBook Pro 14 дюймов с чипом M1 Pro.
Я пробовал запускать docker system prune -a
и снова пытаться строить, но все равно зависает. Я пытался использовать node:bullseye
вместо node:bullseye-slim
, но все равно застревал. Если я удалю --platform=linux/amd64
, сборка завершится без проблем.
Любая идея, в чем проблема и как я могу ее решить?
Так, Кажется, перезапуск докера сработал, не могу поверить, что не подумал об этом раньше. Я сделал обрезку системы, но никогда не перезапускал докер.
Для всех, кто сталкивается с подобной проблемой, попробуйте перезапустить докер.