На Raspberry Pi 4 «исходные» базовые изображения golang: последние и arm32v7 / golang: последние отличаются?

#docker #dockerfile

#докер #dockerfile

Вопрос:

Если я хочу создать двоичный файл Go в образе Docker для запуска в качестве контейнера на Raspberry Pi 4 (архитектура которого 32-разрядная ARM AFAIK), какой базовый образ рекомендуется использовать?

  • ОТ golang: последние
  • ОТ arm32v7 / golang: последние

На самом деле будет ли какая-то разница, или Docker будет достаточно умен, чтобы знать, что первый действительно должен быть вторым в 32-разрядной архитектуре ARM?

(Я знаю, что второй вариант работает, и я думаю, что первый тоже работает.)

Ответ №1:

Эти изображения одинаковые. Вы можете проверить хэш каждого изображения и убедиться, что они равны: 6ab6b95325d8 (golang: latest, arm32v7 / golang: latest). Я предпочту использовать generic golang:latest , потому что это позволит создавать новое изображение на другой платформе без изменений Dockerfile .

Примечание от arm32v7/golang:latest :

это репозиторий «для каждой архитектуры» для сборок arm32v7 официального образа golang