Mga Forum

Docker sa M1 Max - Kakila-kilabot na Pagganap

C

ChaosAngel

Orihinal na poster
Setyembre 29, 2005
UK
  • Nob 3, 2021
Ang pagganap ng Docker para sa Mac ay patuloy na kakila-kilabot sa M1. May nakakaalam ba kung plano ng Docker na mapabuti ang sitwasyong ito? Gumagamit na ba sila ng Apple Hypervisor framework (I'm guessing not).

Bilang halimbawa, mayroon akong simpleng JAMstack (Jekyll) na build, na tumatagal ng humigit-kumulang 70 segundo upang makumpleto sa aking My Dell XPS 17 (Intel Core i9-11900H) gamit ang isang x86 na imahe. Ito ang kaso na nagpapatakbo ng Windows 11 (WSL2) o Linux (Pop!_OS).

Ang parehong build (na may ARM64 na imahe) ay tumatagal ng 460 segundo sa M1 Max, na may 8 Core at 8GB na itinalaga sa Docker.

Gayunpaman, kung ilulunsad ko ang Linux (Ubuntu Server ARM64) sa pamamagitan ng UTM, maaari kong maisagawa ang eksaktong parehong build sa loob lamang ng 9 na segundo!!!

Ang 9 segundo ay isang hindi kapani-paniwalang resulta, ngunit ito ay masakit na kailangan kong magpatakbo ng isang lokal na imahe ng Ubuntu upang makamit ang pagganap na iyon.

Anumang mga saloobin? Anumang paraan upang ma-optimize ang pagganap ng Docker sa macOS? U

ultrakyo

Abr 12, 2015


  • Nob 3, 2021
Suriin ito Mga Benchmark ng Developer ng M1 Max Docker
Mga Reaksyon:dgdosen C

ChaosAngel

Orihinal na poster
Setyembre 29, 2005
UK
  • Nob 3, 2021
Salamat sa pagbabahagi. Magandang video, kahit na ang karanasan ng mga nagtatanghal ay medyo naiiba sa akin.

Tiyak na nakikita ko ang makabuluhang bottleneck sa Docker para sa Mac sa M1.

Hindi ako sigurado kung nauugnay ito sa Docker mismo, na sa palagay ko ay gumagamit ng QEMU sa Mac o isang limitasyon ng software I/O.

Sa alinmang paraan, mahirap balewalain ang 9 segundong oras ng pagbuo (UTM - Linux) kumpara sa 460 segundong oras ng pagbuo (macOS)

May iba pa bang gumagamit ng Docker sa M1/Pro/Max?

mapagbantay

Contributor
Agosto 7, 2007
Nashville, TN
  • Nob 3, 2021
Sinabi ni ChaosAngel: Salamat sa pagbabahagi. Magandang video, kahit na ang karanasan ng mga nagtatanghal ay medyo naiiba sa akin.

Tiyak na nakikita ko ang makabuluhang bottleneck sa Docker para sa Mac sa M1.

Hindi ako sigurado kung nauugnay ito sa Docker mismo, na sa palagay ko ay gumagamit ng QEMU sa Mac o isang limitasyon ng software I/O.

Sa alinmang paraan, mahirap balewalain ang 9 segundong oras ng pagbuo (UTM - Linux) kumpara sa 460 segundong oras ng pagbuo (macOS)

May iba pa bang gumagamit ng Docker sa M1/Pro/Max?
Hindi, ngunit malamang na malapit na ako sa sandaling dumating ang aking M1 Max ngayon, at sa sandaling makarating ako sa puntong iyon sa aking lab para guluhin ito.

Medyo bago lang ako sa Docker at Kubernetes, na nakatutok sa virtualization ng enterprise at public cloud sa loob ng ilang taon kaya inaasahan kong magiging masaya ito.

Sumasang-ayon ako sa lalaki sa video na nai-post. Ikinagagalak kong magkamali dito, ngunit ang pagkakaroon pa lamang ng mga pinamamahalaang developer sa loob ng ilang taon ay masasabi ko na sa iyo na ang mga tool ng Dev ay kadalasang pinakamabagal na mag-adjust sa mga pagbabago sa Apple Ecosystem. Iyon ay maliban kung gumagamit ka ng Xcode. Matagal na akong hindi tumitingin, ngunit noong huling tumingin ako sa Visual Studio para sa Mac ay wala pa rin sa kumpletong Beta form, at isang taon na.
Mga Reaksyon:bloomberg C

CarbonCycles

Mayo 15, 2014
  • Nob 3, 2021
Malayo na ang narating ng VS Code for Mac at unti-unti na itong nagiging paborito ko...Nadismaya akong marinig ang tungkol sa performance ng Docker sa M1 Max C

ChaosAngel

Orihinal na poster
Setyembre 29, 2005
UK
  • Nob 3, 2021
Gumugol ng ilang oras sa pag-tune ng Docker sa Mac at napabuti ang pagganap.

Hindi ko napagtanto na kailangan mong paganahin ang paggamit ng balangkas ng Apple Hypervisor (ito ay nasa ilalim ng Mga Pang-eksperimentong Tampok). Ito ay makabuluhang pinahusay ang pagganap (460 segundo hanggang 220 segundo). Gayunpaman, malayo pa ito mula sa Dell XPS 17.

Na-optimize ko rin ang aking mga volume dahil pinaghihinalaan ko na ang aking isyu ay talagang I/O. Mayroon akong medyo mabigat na pag-load ng file (4000+ / 800MB). In short, sa tingin ko ito ang killer.

Sa pag-iisip na ito, malamang na pananatilihin kong tumatakbo ang Ubuntu sa UTM, na kumukumpleto sa build nang wala pang 10 segundo. Talagang ipinapakita nito ang kapangyarihan ng M1 Max! Hindi pa ako nakakita ng isa pang makina na nakumpleto ang pagbuo nang ganoon kabilis, kasama ang aking Ryzen 3950 (16C/32T) na desktop na tumatakbo sa WSL2. SA

ADGrant

Abr 26, 2018
  • Nob 3, 2021
Sinabi ni ChaosAngel: Gumugol ng ilang oras sa pag-tune ng Docker sa Mac at napabuti ang pagganap.

Hindi ko napagtanto na kailangan mong paganahin ang paggamit ng balangkas ng Apple Hypervisor (ito ay nasa ilalim ng Mga Pang-eksperimentong Tampok). Ito ay makabuluhang pinahusay ang pagganap (460 segundo hanggang 220 segundo). Gayunpaman, malayo pa ito mula sa Dell XPS 17.

Na-optimize ko rin ang aking mga volume dahil pinaghihinalaan ko na ang aking isyu ay talagang I/O. Mayroon akong medyo mabigat na pag-load ng file (4000+ / 800MB). In short, sa tingin ko ito ang killer.

Sa pag-iisip na ito, malamang na pananatilihin kong tumatakbo ang Ubuntu sa UTM, na kumukumpleto sa build nang wala pang 10 segundo. Talagang ipinapakita nito ang kapangyarihan ng M1 Max! Hindi pa ako nakakita ng isa pang makina na nakumpleto ang pagbuo nang ganoon kabilis, kasama ang aking Ryzen 3950 (16C/32T) na desktop na tumatakbo sa WSL2.

Gumamit ka ba ng Docker sa isang Intel Mac? Kung gayon, paano iyan ihambing sa iyong karanasan sa M1 Macs? C

ChaosAngel

Orihinal na poster
Setyembre 29, 2005
UK
  • Nob 4, 2021
Sinabi ni ADGrant: Gumamit ka ba ng Docker sa isang Intel Mac? Kung gayon, paano iyan ihambing sa iyong karanasan sa M1 Macs?
Oo, ginamit ko ang Docker sa Mac sa loob ng maraming taon.

Para sa mga malinaw na kadahilanan, ang karanasan sa paggamit ng Docker ay higit na nakahihigit sa isang Linux host. Samakatuwid ginagawa ko ang karamihan sa aking web-based na pag-develop sa Pop!_OS. Sa sinabi nito, kasunod ng paglabas ng WSL2 sa Windows, ang karanasan ng Docker ay lubos na napabuti (ginagawa itong isang mabubuhay na kapaligiran sa pag-unlad para sa aking daloy ng trabaho).

Ang Docker sa macOS ay palaging isang sakit (ang aking karanasan), lalo na kapag nagtatrabaho sa mga naka-mount na filesystem. Karaniwang pinapatay nito ang pagganap kapag nagtatrabaho sa mga proyekto na may malalaking volume ng file.

Tungkol sa Intel vs. M1 sa macOS, masasabi kong nakadepende ang karanasan sa iyong partikular na workload, ngunit para sa akin ay pantay-pantay (mayroon akong i9 MBP 16-pulgada - 32GB).

Gayunpaman, kung nagpapatakbo ka ng Linux sa Mac gamit ang UTM, maaari mong tunay na ilabas ang M1 Max. Bilang halimbawa, ang aking Dell XPS 17 ay nakakamit ng isang build time na humigit-kumulang 70 segundo. Sa Ubuntu Server sa pamamagitan ng UTM, nakakamit ng M1 Max ang parehong resulta sa loob lamang ng 9 na segundo (na pinakamabilis na nakita ko). C

ChaosAngel

Orihinal na poster
Setyembre 29, 2005
UK
  • Nob 4, 2021
Nagpasya akong manatili sa aking UTM + Ubuntu Server (ARM64) setup sa aking M1 Max MBP.

Sa SSH na na-configure at may sapat na RAM, ang epekto ng pagpapatakbo ng server sa lokal ay medyo mababa.

Ang setup na ito ay nagresulta sa 9 na segundong build times, na kung ihahambing sa 220 segundo sa Docker para sa Mac ay isang malaking hakbang pasulong.

Ang 220 segundo ay hindi mukhang isang mahabang panahon, ngunit kapag hinihintay mong makumpleto ang build nang maraming beses bawat araw, ito ay parang walang hanggan. SA

burol ng mansanas

Nob 27, 2021
  • Sabado sa 9:26 AM
Gumawa ako ng account dahil tila ikaw ang perpektong taong magtanong sa tanong na ito dahil ikaw ay aktibong gumagamit ng docker at may karanasan sa parehong 2019 16 inch MBP at ang mga bagong modelong M1.

Sa susunod na ilang buwan, naghahanap ako na mag-upgrade mula sa aking 2018 13 pulgadang MPB. Mayroon itong quad core i5, 16GB ram, 256GB SSD. Regular akong gumagamit ng docker para sa mga personal na full stack na proyekto. Sa isang partikular na araw, maaari akong gumawa ng kahit ano mula sa dockerized backend microservices hanggang sa front end na IOS/Android at kamakailan lamang ay pakiramdam ng aking laptop ay napakabagal lalo na kapag nakakonekta sa dalawang 1440p monitor...

Ako ay palaging isa upang bumili ng isang ginamit na macbook mula sa ilang mga modelo ang nakalipas sa ebay upang makatipid ng ilang pera. Ngunit ang mga bagong modelong M1 na ito ay mukhang naghahatid sila ng isang nakakahimok na opsyon upang maglabas lamang ng mas maraming pera. Nakakita ako ng ilang ginamit na 16 inch na macbook mula 2019 kasama ang i9 at 32gb ram 1TB SSD sa halagang humigit-kumulang $1900.

Sa palagay mo ba ay mas mahusay na opsyon iyon kaysa sa isang katulad na naka-configure na M1 Pro na may 32gb ram 1TB SSD para sa mas malapit sa $3000? Kung nasa isip ang kaso ng paggamit ng mga developer, sa tingin mo ba sulit ang dagdag na gastos? SA

kakulitan

Disyembre 2, 2008
  • Sabado sa 10:19 AM
Mayroong isang napakahaba, malalim na artikulo dito, na nagpapaliwanag kung bakit napakabagal ng Docker para sa Mac, at kung ano ang iyong mga pagpipilian:

Tinalo ang ilang pagganap sa Docker para sa Mac

Ang paggamit ng Docker sa Mac noong 2020 ay maihahambing sa pagkakaroon ng 2009 Peugeot 1007 sa 2020. Malalaman ko dahil mayroon akong pareho. medium.com
Mga Reaksyon:Xiao_Xi at michalm G

gernot.kogler

Nob 13, 2014
  • Sabado sa 1:04 PM
Lumipat ako mula sa Docker Desktop sa kalamansi kapag nagse-set up ng aking bagong M1Max. Gumagana tulad ng isang anting-anting sa ngayon.
Mga Reaksyon:Xiao_Xi SA

ADGrant

Abr 26, 2018
  • Sabado sa 2:12 PM
Sinabi ni ChaosAngel: Napagpasyahan kong manatili sa aking UTM + Ubuntu Server (ARM64) setup sa aking M1 Max MBP.

Sa SSH na na-configure at may sapat na RAM, ang epekto ng pagpapatakbo ng server sa lokal ay medyo mababa.

Ang setup na ito ay nagresulta sa 9 na segundong build times, na kung ihahambing sa 220 segundo sa Docker para sa Mac ay isang malaking hakbang pasulong.

Ang 220 segundo ay hindi mukhang isang mahabang panahon, ngunit kapag hinihintay mong makumpleto ang build nang maraming beses bawat araw, ito ay parang walang hanggan.
Para sa pagpapatakbo ng Ubuntu Server sa iyong Mac, nasubukan mo na bang gumamit ng Ubuntu Multipass? Tila mas simple kaysa sa UTM ngunit ito ay siyempre limitado sa pag-virtualize lamang ng Ubuntu. X

Xiao_Xi

Oktubre 27, 2021
  • Sabado nang 2:51 PM
gernot.kogler said: Lumipat ako mula sa Docker Desktop sa kalamansi kapag nagse-set up ng aking bagong M1Max. Gumagana tulad ng isang anting-anting sa ngayon.
Bakit Lima at hindi podman? Ano ang bentahe ng Lima sa podman? ANG

leman

Oktubre 14, 2008
  • Sabado sa 3:40 PM
sabi ni wyrdness: Mayroong napakahaba, malalim na artikulo dito, na nagpapaliwanag kung bakit napakabagal ng Docker para sa Mac, at kung ano ang iyong mga opsyon:

Tinalo ang ilang pagganap sa Docker para sa Mac

Ang paggamit ng Docker sa Mac noong 2020 ay maihahambing sa pagkakaroon ng 2009 Peugeot 1007 sa 2020. Malalaman ko dahil mayroon akong pareho. medium.com

Kung naintindihan ko ito ng tama, ang buod ay ang Docker ay tila nakakatakot na ginulo ang kanilang bersyon ng Mac. G

gernot.kogler

Nob 13, 2014
  • Sabado nang 10:11 PM
Sinabi ni Xiao_Xi: Bakit Lima at hindi podman? Ano ang bentahe ng Lima sa podman?
hindi ko alam. Natisod ako sa isang blog post na naglalarawan kung paano palitan ang docker desktop ng lima /nerdclt. Sinubukan ito at gumana ito sa labas ng kahon bilang isang drop sa kapalit para sa docker, mas mabilis at matatag. Ano ang mapapala ko sa paglipat sa podman? X

Xiao_Xi

Oktubre 27, 2021
  • Linggo ng 6:27 AM
sabi ni gernot.kogler: Ano ang mapapala ko sa paglipat sa podman?
Ang artikulong ito ay may paghahambing sa pagitan ng nerdctl at podman. https://codeengineered.com/blog/2021/podman-vs-nerdctl/

Tila ang podman ay may mas mahusay na pagkakatugma sa Docker kaysa sa lima. Maaari mong patakbuhin ang podman dahil ito ay docker na may alias docker=podman.

Bukod doon, ang Red Hat ay gumagawa ng podman, kaya maaari itong magkaroon ng mas mahusay na suporta kaysa sa lima. Huling na-edit: Linggo noong 6:34 AM

dgdosen

Disyembre 13, 2003
Seattle
  • Linggo ng 4:30 PM
Sinabi ni ChaosAngel: Ang pagganap ng Docker para sa Mac ay patuloy na kakila-kilabot sa M1. May nakakaalam ba kung plano ng Docker na mapabuti ang sitwasyong ito? Gumagamit na ba sila ng Apple Hypervisor framework (I'm guessing not).

Bilang halimbawa, mayroon akong simpleng JAMstack (Jekyll) na build, na tumatagal ng humigit-kumulang 70 segundo upang makumpleto sa aking My Dell XPS 17 (Intel Core i9-11900H) gamit ang isang x86 na imahe. Ito ang kaso na nagpapatakbo ng Windows 11 (WSL2) o Linux (Pop!_OS).

Ang parehong build (na may ARM64 na imahe) ay tumatagal ng 460 segundo sa M1 Max, na may 8 Core at 8GB na itinalaga sa Docker.

Gayunpaman, kung ilulunsad ko ang Linux (Ubuntu Server ARM64) sa pamamagitan ng UTM, maaari kong maisagawa ang eksaktong parehong build sa loob lamang ng 9 na segundo!!!

Ang 9 segundo ay isang hindi kapani-paniwalang resulta, ngunit ito ay masakit na kailangan kong magpatakbo ng isang lokal na imahe ng Ubuntu upang makamit ang pagganap na iyon.

Anumang mga saloobin? Anumang paraan upang ma-optimize ang pagganap ng Docker sa macOS?

Ito ay nakakagulat sa akin:

- Mayroong isang video sa itaas na tila nagpapakita kung ano ang karanasan ng dev sa M1/M1Pro/M1Max native Docker: . Mukhang medyo makatwiran at sinasalamin ang aking mga damdamin - kahit na hindi ako nag-benchmark ng anuman sa aking sarili.
- Mukhang maaari mong i-install ang Intel Docker Desktop sa M1 sa pamamagitan ng Rosetta. Sana hindi mo ginagawa yun...
- Ang pagpapatakbo ng Docker sa M1 ay pipilitin kang pamahalaan ang mga arkitektura ng iyong pinagbabatayan na mga larawan. Gumagamit ka ba ng mga imahe ng arm64? x86_64 sa pamamagitan ng Rosetta? multiarch?
- 8 Cores? gaano kakumplikado ang iyong stack? Ang aking layunin ay ang pinakamababang mapagkukunan para sa mga container na gumagana at mag-debug nang lokal (dev environment) pagkatapos ay itulak ito sa isang server para sa higit pang pagsubok. Huling na-edit: Linggo sa 4:51 PM

dgdosen

Disyembre 13, 2003
Seattle
  • Linggo ng 4:33 PM
sabi ni wyrdness: Mayroong napakahaba, malalim na artikulo dito, na nagpapaliwanag kung bakit napakabagal ng Docker para sa Mac, at kung ano ang iyong mga opsyon:

Tinalo ang ilang pagganap sa Docker para sa Mac

Ang paggamit ng Docker sa Mac noong 2020 ay maihahambing sa pagkakaroon ng 2009 Peugeot 1007 sa 2020. Malalaman ko dahil mayroon akong pareho. medium.com
FYI - ang artikulong ito ay isinulat bago ipinadala ng Apple ang mga M1 mac, at lohikal, bago katutubong suportado ng Docker (Docker Desktop) ang Apple Silicon.

thedocbwarren

Nob 10, 2017
San Francisco, CA
  • Linggo ng 4:44 PM
Sinabi ni dgdosen: FYI - ang artikulong ito ay isinulat bago ang Apple ay nagpapadala ng mga M1 mac, at lohikal, bago ang Docker (Docker Desktop) ay katutubong suportado ang Apple Silicon.
Gumagamit ako ng docker araw-araw sa aking M1. Ano ba talaga ang mabagal tungkol dito? At paano ito nasubok? (pagsasalita tungkol sa docker sa pangkalahatan sa Mac.)

dgdosen

Disyembre 13, 2003
Seattle
  • Linggo ng 4:47 PM
thedocbwarren said: Gumagamit ako ng docker araw-araw sa aking M1. Ano ba talaga ang mabagal tungkol dito? At paano ito nasubok? (pagsasalita tungkol sa docker sa pangkalahatan sa Mac.)
Hindi ako ang nagsasabi na ito ay mabagal... SA

ADGrant

Abr 26, 2018
  • Linggo ng 5:25 PM
Sinabi ni dgdosen: FYI - ang artikulong ito ay isinulat bago ang Apple ay nagpapadala ng mga M1 mac, at lohikal, bago ang Docker (Docker Desktop) ay katutubong suportado ang Apple Silicon.
Gumagamit ang may-akda ng Intel Mac at nagrereklamo tungkol sa pagganap ng Docker para sa Mac sa Intel.

thedocbwarren

Nob 10, 2017
San Francisco, CA
  • Linggo ng 7:45 PM
dgdosen said: Hindi ako yung nagsasabi na mabagal...
Oh I know, sorry hindi nakadirekta sa tamang tao. Nakatulong ako dito at doon upang makakuha ng Apple silicon na suportado ng iba't ibang mga tool (Docker ay isa) at nais na maunawaan ito ng kaunti pa. At saka hindi ko pa nararanasan ang problemang ito. X

Xiao_Xi

Oktubre 27, 2021
  • Linggo ng 9:36 PM
Magiging may-katuturan pa rin ba ang Docker pagkatapos i-drop ng Kubernetes ang suporta para sa Docker? G

gernot.kogler

Nob 13, 2014
  • Linggo ng 10:50 PM
Sinabi ni Xiao_Xi: Ang artikulong ito ay may paghahambing sa pagitan ng nerdctl at podman. https://codeengineered.com/blog/2021/podman-vs-nerdctl/

Tila ang podman ay may mas mahusay na pagkakatugma sa Docker kaysa sa lima. Maaari mong patakbuhin ang podman dahil ito ay docker na may alias docker=podman.

Bukod doon, ang Red Hat ay gumagawa ng podman, kaya maaari itong magkaroon ng mas mahusay na suporta kaysa sa lima.
Salamat sa link. Sinubukan ko ang podman ngunit mas gumagana ang lima / nerdctl para sa akin. Ang kailangan ko lang ay isang tool upang simulan ang docker-compose na mga file. Ang podman ay hindi maaaring gawin iyon sa labas ng kahon at pagkatapos i-install ang podman-compose ay hindi ito nailabas ng tama (ang docker-compose file ay naglalaman ng mga postgres, teedy at nginx bilang isang reverse proxy). lima / nerdctl gumana lang. Buti na lang may pagpipilian, papanoorin ko kung ano ang nangyayari sa podman...

Btw. Docker Desktop (katutubo ng arm64, siyempre) nagsimula ang aking docker-compose sa bawat ibang pagkakataon. Hindi bababa sa kalahati ng oras na ito ay natigil lamang sa gitna ng boot at kapag ito ay matagumpay na nag-boot, tumagal ito nang walang hanggan kumpara sa lima / nerdctl.
Mga Reaksyon:Xiao_Xi