LINUX.ORG.RU
ФорумTalks

Docker linux/amd64 работает под M1 маком с розеттой

 , ,


0

1

Давно хотел проверить, но никак не доходили руки. Вообще говорят, что и в докер десктопе это есть, я не проверял. В целом запустил федору через Virtualization.Framework на M1 макбуке, в ней поставил докер, а также розетту. И теперь:

% docker run --rm -it --platform linux/amd64 debian:11 uname -a
Linux 3ae5494cbd64 6.1.18-200.fc37.aarch64 #1 SMP PREEMPT_DYNAMIC Sat Mar 11 16:03:54 UTC 2023 x86_64 GNU/Linux

Для меня это важно, мне этого давно не хватало. На qemu эмуляция была, но там такая медленная скорость, что было не юзабельно. А тут ничего так, шустренько.

% time docker run --rm -it --platform linux/amd64 debian:11 bash -c "head -c $((1024 * 1024 * 1024)) /dev/zero | sha256sum"
0.02s user 0.02s system 0% cpu 5.759 total

% time docker run --rm -it --platform linux/arm64 debian:11 bash -c "head -c $((1024 * 1024 * 1024)) /dev/zero | sha256sum"
0.03s user 0.02s system 0% cpu 4.770 total
★★★

Последнее исправление: vbr (всего исправлений: 1)

если уж очень хочется локально, то:

export DOCKER_HOST="tcp://мой-докер-в-тучке-или-кладовке:2375"
export DOCKER_CERT_PATH="~/.docker/"
export DOCKER_TLS_VERIFY="1"

или вообще делать всё на ремотной машине или через cicd

stalkerbss
()
Последнее исправление: stalkerbss (всего исправлений: 1)
Ответ на: комментарий от stalkerbss

На самом деле так и делал (только через ssh, зачем его выставлять сокетом). Но во-первых это требует интернета. Что не всегда удобно. Во-вторых у меня в офисе аплоад где-то 10 мегабитов. А некоторые упоротые проекты любят десятки мегабайтов в контекст сувать и это превращается в хороший повод попить кофе. Ну и в третьих хорошая машина в облаке (а для докера нужна хорошая) стоит не сказать, чтобы совсем уж дёшево.

vbr ★★★
() автор топика

… Вообще говорят, что и в докер десктопе это есть …

Docker Desktop для macOS гоняет контейнеры в контексте виртуальной linux-машины. Фактически тоже самое… Но bind mounts для хостовых директорий в macOS работает тормознее чем в Linux-варианте, поскольку на стороне контейнера фактически используется сетевой доступ к хостовым файлам. Так что, всякие контейнерные базы данных и прочее лучше хранить как именованные Docker-тома - они там же в linux лежат.

vinvlad ★★
()
Последнее исправление: vinvlad (всего исправлений: 1)

… если важна скорость выполнения команд, то просто держи контейнер запущенным и пользуй docker exec

vinvlad ★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)