Рейтинг:1

Почему образы докеров зависят от архитектуры?

флаг us

Я хотел бы лучше понять, почему образы Docker зависят от архитектуры? Зачем мне разные образы для ARM-процессора-архитектуры, чем для ARM64 AArch32 и т.д.?

Образы Docker, очевидно, содержат специфичные для процессора инструкции, что делает их зависимыми от архитектуры.
Какая часть докер картинки содержит конкретные инструкции процессора и Почему?

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

Это потому, что в противном случае уровень был бы сравним с уровнем HyperVisor в виртуальных машинах и больше не был бы «облегченным»?

Ben Butterworth avatar
флаг in
Я думаю, что документация по докеру [Поддержка многопроцессорной архитектуры] (https://docs.docker.com/desktop/multi-arch/#multi-arch-support-on-docker-desktop) полезна. Большинство официальных образов докеров поддерживают несколько архитектур.
Рейтинг:3
флаг cn

Каково ожидаемое содержимое образа докера? Приложение + все вспомогательные библиотеки и любые другие необходимые файлы.
Что это обычно означает на практике? По сути, урезанный пользовательский интерфейс Linux + приложение.

Конечно, не каждый отдельный файл зависит от архитектуры, но бинарные файлы и библиотеки были скомпилированы для какой-то конкретной архитектуры (очевидно, независимо от того, были ли они помещены в образ докера или нет).

Здесь нет никакой магии, образ докера — это просто средство упаковки и распространения приложения. Он не превращает приложение, скомпилированное для x86-64, arm64 или чего-то еще, в независимое от архитектуры.

И если приложение находится на каком-то некомпилируемом языке, например, в приложении Python или приложении Nodejs, то вышеперечисленное относится только к среде выполнения; среда выполнения Python или среда выполнения Nodejs были созданы для определенной архитектуры и нуждаются в соответствующих поддерживающих библиотеках, созданных для этой же архитектуры.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.