Diễn Đàn

Docker trên M1 Max - Hiệu suất kinh khủng

NS

ChaosAngel

Áp phích gốc
Ngày 29 tháng 9 năm 2005
Vương quốc Anh
  • Ngày 3 tháng 11 năm 2021
Hiệu suất của Docker cho Mac tiếp tục rất tệ trên M1. Có ai biết Docker có kế hoạch cải thiện tình hình này không? Họ đã sử dụng khung Apple Hypervisor chưa (tôi đoán là không).

Ví dụ: tôi có một bản dựng JAMstack (Jekyll) đơn giản, mất khoảng 70 giây để hoàn thành trên My Dell XPS 17 (Intel Core i9-11900H) bằng hình ảnh x86. Đây là trường hợp chạy Windows 11 (WSL2) hoặc Linux (Pop! _OS).

Quá trình xây dựng tương tự (với hình ảnh ARM64) mất 460 giây trên M1 Max, với Docker được chỉ định 8 lõi và 8GB.

Tuy nhiên, nếu tôi khởi chạy Linux (Ubuntu Server ARM64) qua UTM, tôi có thể thực thi cùng một bản dựng chỉ trong 9 giây !!!

9 giây là một kết quả đáng kinh ngạc, nhưng thật đau đớn khi tôi phải chạy một hình ảnh Ubuntu cục bộ để đạt được hiệu suất đó.

Có suy nghĩ gì không? Bất kỳ cách nào để tối ưu hóa hiệu suất của Docker trên macOS? U

ultrakyo

Ngày 12 tháng 4 năm 2015


  • Ngày 3 tháng 11 năm 2021
Chec cái này ra Điểm chuẩn của nhà phát triển M1 Max Docker
Phản ứng:dgdosen NS

ChaosAngel

Áp phích gốc
Ngày 29 tháng 9 năm 2005
Vương quốc Anh
  • Ngày 3 tháng 11 năm 2021
Cám ơn vì đã chia sẻ. Video hay, mặc dù trải nghiệm của người thuyết trình hơi khác so với tôi.

Tôi chắc chắn đang thấy nút thắt cổ chai đáng kể với Docker cho Mac trên M1.

Tôi không chắc liệu nó có liên quan đến chính Docker hay không, mà tôi nghĩ rằng nó đang sử dụng QEMU trên Mac hay một giới hạn I / O phần mềm.

Dù bằng cách nào, thật khó để bỏ qua thời gian xây dựng 9 giây (UTM - Linux) so với thời gian xây dựng 460 giây (macOS)

Có ai khác đang sử dụng Docker trên M1 / ​​Pro / Max không?

cảnh giác

Người đóng góp
Ngày 7 tháng 8 năm 2007
Nashville, TN
  • Ngày 3 tháng 11 năm 2021
ChaosAngel nói: Cảm ơn vì đã chia sẻ. Video hay, mặc dù trải nghiệm của người thuyết trình hơi khác so với tôi.

Tôi chắc chắn đang thấy nút thắt cổ chai đáng kể với Docker cho Mac trên M1.

Tôi không chắc liệu nó có liên quan đến chính Docker hay không, mà tôi nghĩ rằng nó đang sử dụng QEMU trên Mac hay một giới hạn I / O phần mềm.

Dù bằng cách nào, thật khó để bỏ qua thời gian xây dựng 9 giây (UTM - Linux) so với thời gian xây dựng 460 giây (macOS)

Có ai khác đang sử dụng Docker trên M1 / ​​Pro / Max không?
Tôi không, nhưng có lẽ tôi sẽ sớm ra mắt khi chiếc M1 Max của tôi xuất hiện ngày hôm nay, và một khi tôi đến điểm đó trong phòng thí nghiệm của mình để làm rối tung nó.

Tôi còn khá mới với Docker và Kubernetes, đã tập trung chủ yếu vào ảo hóa doanh nghiệp và đám mây công cộng trong một số năm nên tôi hy vọng nó sẽ thú vị.

Tôi đồng ý với anh chàng trong video đã được đăng. Tôi rất vui khi sai về điều này, nhưng chỉ cần có các nhà phát triển được quản lý trong một số năm, tôi có thể cho bạn biết các công cụ Dev thường chậm nhất để điều chỉnh các thay đổi trong Hệ sinh thái Apple. Đó là trừ khi bạn đang sử dụng Xcode. Tôi đã không xem xét một thời gian, nhưng lần trước, tôi đã xem Visual Studio cho Mac vẫn chưa ở dạng Beta hoàn chỉnh, và đã một năm.
Phản ứng:bloomberg NS

Cacbon

Ngày 15 tháng 5 năm 2014
  • Ngày 3 tháng 11 năm 2021
VS Code cho Mac đã đi một chặng đường dài và nó đang dần trở thành mục yêu thích của tôi ... Tôi thất vọng khi biết về hiệu suất của Docker trên M1 Max NS

ChaosAngel

Áp phích gốc
Ngày 29 tháng 9 năm 2005
Vương quốc Anh
  • Ngày 3 tháng 11 năm 2021
Đã dành một chút thời gian để điều chỉnh Docker trên Mac và đã cải thiện hiệu suất.

Tôi đã không nhận ra rằng bạn phải kích hoạt sử dụng khung Apple Hypervisor (nó nằm trong Tính năng thử nghiệm). Điều này đã cải thiện hiệu suất đáng kể (460 giây đến 220 giây). Tuy nhiên, nó vẫn còn một chặng đường dài so với Dell XPS 17.

Tôi cũng đã tối ưu hóa khối lượng của mình vì tôi nghi ngờ vấn đề của tôi thực sự là I / O. Tôi có tải tệp khá nặng (4000+ / 800MB). Tóm lại, tôi nghĩ đây là kẻ giết người.

Với điều này, tôi có thể sẽ giữ cho Ubuntu chạy trong UTM, quá trình này sẽ hoàn thành quá trình xây dựng trong vòng chưa đầy 10 giây. Điều đó thực sự chứng tỏ sức mạnh của M1 Max! Tôi chưa bao giờ thấy một máy nào khác hoàn thành quá trình xây dựng một cách nhanh chóng, bao gồm cả máy tính để bàn Ryzen 3950 (16C / 32T) chạy WSL2 của tôi. ĐẾN

ADGrant

26 thg 4, 2018
  • Ngày 3 tháng 11 năm 2021
ChaosAngel cho biết: Đã dành một khoảng thời gian để điều chỉnh Docker trên Mac và đã cải thiện hiệu suất.

Tôi đã không nhận ra rằng bạn phải kích hoạt sử dụng khung Apple Hypervisor (nó nằm trong Tính năng thử nghiệm). Điều này đã cải thiện hiệu suất đáng kể (460 giây đến 220 giây). Tuy nhiên, nó vẫn còn một chặng đường dài so với Dell XPS 17.

Tôi cũng đã tối ưu hóa khối lượng của mình vì tôi nghi ngờ vấn đề của tôi thực sự là I / O. Tôi có tải tệp khá nặng (4000+ / 800MB). Tóm lại, tôi nghĩ đây là kẻ giết người.

Với suy nghĩ này, tôi có thể sẽ giữ cho Ubuntu chạy trong UTM, quá trình này sẽ hoàn thành quá trình xây dựng trong vòng chưa đầy 10 giây. Điều đó thực sự chứng tỏ sức mạnh của M1 Max! Tôi chưa bao giờ thấy một máy nào khác hoàn thành quá trình xây dựng một cách nhanh chóng, bao gồm cả máy tính để bàn Ryzen 3950 (16C / 32T) chạy WSL2 của tôi.

Bạn đã sử dụng Docker trên Intel Mac chưa? Nếu vậy, điều đó so với trải nghiệm của bạn trên Macs M1 như thế nào? NS

ChaosAngel

Áp phích gốc
Ngày 29 tháng 9 năm 2005
Vương quốc Anh
  • Ngày 4 tháng 11 năm 2021
ADGrant cho biết: Bạn đã sử dụng Docker trên Intel Mac chưa? Nếu vậy, điều đó so với trải nghiệm của bạn trên Macs M1 như thế nào?
Đúng, tôi đã sử dụng Docker trên Mac trong nhiều năm.

Vì những lý do rõ ràng, trải nghiệm sử dụng Docker vượt trội hơn nhiều trên máy chủ Linux. Do đó, tôi thực hiện hầu hết quá trình phát triển dựa trên web của mình trên Pop! _OS. Như đã nói, sau khi phát hành WSL2 trên Windows, trải nghiệm Docker được cải thiện đáng kể (biến nó trở thành môi trường phát triển khả thi cho quy trình làm việc của tôi).

Docker trên macOS luôn là một vấn đề (kinh nghiệm của tôi), đặc biệt là khi làm việc với các hệ thống tệp được gắn kết. Về cơ bản, nó giết chết hiệu suất khi làm việc trên các dự án có khối lượng tệp lớn.

Về Intel so với M1 trên macOS, tôi sẽ nói rằng trải nghiệm phụ thuộc vào khối lượng công việc cụ thể của bạn, nhưng đối với tôi thì khá ngang bằng (tôi đã có i9 MBP 16 inch - 32GB).

Tuy nhiên, nếu bạn chạy Linux trên Mac với UTM, bạn thực sự có thể sử dụng M1 Max. Ví dụ, Dell XPS 17 của tôi đạt được thời gian xây dựng khoảng 70 giây. Với Ubuntu Server thông qua UTM, M1 Max đạt được kết quả tương tự chỉ trong 9 giây (đây là tốc độ nhanh nhất tôi từng thấy). NS

ChaosAngel

Áp phích gốc
Ngày 29 tháng 9 năm 2005
Vương quốc Anh
  • Ngày 4 tháng 11 năm 2021
Tôi đã quyết định gắn bó với thiết lập UTM + Ubuntu Server (ARM64) trên M1 Max MBP của mình.

Với SSH được định cấu hình và có đủ RAM, tác động của việc chạy cục bộ máy chủ là khá thấp.

Thiết lập này đã dẫn đến thời gian xây dựng là 9 giây, so với 220 giây trên Docker cho Mac là một bước tiến lớn.

220 giây nghe có vẻ không dài, nhưng khi bạn chờ đợi quá trình xây dựng hoàn thành nhiều lần mỗi ngày, cảm giác đó giống như một sự vĩnh cửu. ĐẾN

quả táo

Ngày 27 tháng 11 năm 2021
  • Thứ Bảy lúc 9:26 sáng
Tôi đã tạo tài khoản vì bạn có vẻ là người hoàn hảo để đặt câu hỏi này vì bạn là người dùng docker tích cực và có kinh nghiệm với cả MBP 16 inch 2019 và các mẫu M1 mới như thế nào.

Trong vài tháng tới, tôi đang tìm cách nâng cấp từ MPB 13 inch 2018 của mình. Máy có chip i5 lõi tứ, ram 16GB, SSD 256GB. Tôi sử dụng docker thường xuyên cho các dự án full stack cá nhân. Vào một ngày nhất định, tôi có thể làm bất cứ điều gì từ các microservice phụ trợ dày đặc cho đến giao diện người dùng IOS / Android và gần đây máy tính xách tay của tôi cảm thấy rất chậm đặc biệt là khi kết nối với hai màn hình 1440p ...

Tôi đã luôn là người mua một chiếc macbook đã qua sử dụng từ một vài mẫu trước đây trên ebay để tiết kiệm tiền mặt. Nhưng những mẫu M1 mới này có vẻ như chúng cung cấp một lựa chọn hấp dẫn để chỉ bỏ ra nhiều tiền hơn. Tôi đã tìm thấy một số macbook 16 inch đã qua sử dụng từ năm 2019 với SSD 1TB i9 và 32gb ram với giá khoảng 1900 đô la.

Bạn có nghĩ rằng đó là lựa chọn tốt hơn so với một chiếc M1 Pro có cấu hình tương tự với SSD 32gb ram 1TB với giá gần $ 3000? Với trường hợp sử dụng dành cho nhà phát triển, bạn có nghĩ rằng chi phí bổ sung có đáng giá không? TRONG

wyrdness

Ngày 2 tháng 12 năm 2008
  • Thứ Bảy lúc 10:19 sáng
Có một bài viết rất dài, chuyên sâu ở đây, giải thích lý do tại sao Docker cho Mac quá chậm và các tùy chọn của bạn là gì:

Đánh bại một số hiệu suất vào Docker cho Mac

Sử dụng Docker trên máy Mac vào năm 2020 có thể so sánh với việc sử dụng Peugeot 1007 năm 2009 vào năm 2020. Tôi biết vì tôi có cả hai. medium.com
Phản ứng:Xiao_Xi và michalm NS

gernot.kogler

Ngày 13 tháng 11 năm 2014
  • Thứ bảy lúc 1:04 chiều
Tôi đã chuyển từ Docker Desktop sang Vôi khi thiết lập M1Max mới của tôi. Hoạt động như một sự quyến rũ cho đến nay.
Phản ứng:Xiao_Xi ĐẾN

ADGrant

26 thg 4, 2018
  • Thứ Bảy lúc 2:12 chiều
ChaosAngel cho biết: Tôi đã quyết định gắn bó với thiết lập UTM + Ubuntu Server (ARM64) trên M1 Max MBP của mình.

Với SSH được định cấu hình và có đủ RAM, tác động của việc chạy cục bộ máy chủ là khá thấp.

Thiết lập này đã dẫn đến thời gian xây dựng là 9 giây, so với 220 giây trên Docker cho Mac là một bước tiến lớn.

220 giây nghe có vẻ không dài, nhưng khi bạn chờ đợi quá trình xây dựng hoàn thành nhiều lần mỗi ngày, cảm giác đó giống như một sự vĩnh cửu.
Để chạy Ubuntu Server trên máy Mac, bạn đã thử sử dụng Ubuntu Multipass chưa? Có vẻ đơn giản hơn UTM nhưng tất nhiên nó bị giới hạn ở việc chỉ ảo hóa Ubuntu. NS

Xiao_Xi

Ngày 27 tháng 10 năm 2021
  • Thứ Bảy lúc 2:51 chiều
gernot.kogler cho biết: Tôi đã chuyển từ Docker Desktop sang Vôi khi thiết lập M1Max mới của tôi. Hoạt động như một sự quyến rũ cho đến nay.
Tại sao lại là Lima mà không phải podman? Lợi thế của Lima so với podman là gì? NS

leman

Ngày 14 tháng 10 năm 2008
  • Thứ Bảy lúc 3:40 chiều
wyrdness nói: Có một bài viết rất dài, chuyên sâu ở đây, giải thích lý do tại sao Docker cho Mac quá chậm và các tùy chọn của bạn là gì:

Đánh bại một số hiệu suất vào Docker cho Mac

Sử dụng Docker trên máy Mac vào năm 2020 có thể so sánh với việc sử dụng Peugeot 1007 năm 2009 vào năm 2020. Tôi biết vì tôi có cả hai. medium.com

Nếu tôi hiểu nó một cách chính xác, bản tóm tắt là Docker dường như đã làm rối tung phiên bản Mac của họ một cách khủng khiếp. NS

gernot.kogler

Ngày 13 tháng 11 năm 2014
  • Thứ bảy lúc 10:11 chiều
Xiao_Xi nói: Tại sao lại là Lima mà không phải podman? Lợi thế của Lima so với podman là gì?
Tôi không biết. Tôi tình cờ xem được một bài đăng trên blog mô tả cách thay thế máy tính để bàn docker bằng lima / nerdclt. Đã thử và nó hoạt động hiệu quả như một sự thay thế cho docker, nhanh hơn và ổn định hơn nhiều. Tôi sẽ thu được gì khi chuyển sang podman? NS

Xiao_Xi

Ngày 27 tháng 10 năm 2021
  • Chủ nhật lúc 6:27 sáng
gernot.kogler đã nói: Tôi sẽ thu được gì khi chuyển sang podman?
Bài viết này có sự so sánh giữa nerdctl và podman. https://codeengineered.com/blog/2021/podman-vs-nerdctl/

Có vẻ như podman có khả năng tương thích với Docker tốt hơn lima. Bạn có thể chạy podman vì nó là docker với bí danh docker = podman.

Bên cạnh đó, Red Hat phát triển podman, vì vậy nó có thể hỗ trợ tốt hơn lima. Lần sửa cuối: Chủ nhật lúc 6:34 sáng

dgdosen

Ngày 13 tháng 12 năm 2003
Seattle
  • Chủ nhật lúc 4:30 chiều
ChaosAngel cho biết: Hiệu suất của Docker cho Mac tiếp tục rất tệ trên M1. Có ai biết Docker có kế hoạch cải thiện tình hình này không? Họ đã sử dụng khung Apple Hypervisor chưa (tôi đoán là không).

Ví dụ: tôi có một bản dựng JAMstack (Jekyll) đơn giản, mất khoảng 70 giây để hoàn thành trên My Dell XPS 17 (Intel Core i9-11900H) bằng hình ảnh x86. Đây là trường hợp chạy Windows 11 (WSL2) hoặc Linux (Pop! _OS).

Quá trình xây dựng tương tự (với hình ảnh ARM64) mất 460 giây trên M1 Max, với Docker được chỉ định 8 lõi và 8GB.

Tuy nhiên, nếu tôi khởi chạy Linux (Ubuntu Server ARM64) qua UTM, tôi có thể thực thi cùng một bản dựng chỉ trong 9 giây !!!

9 giây là một kết quả đáng kinh ngạc, nhưng thật đau đớn khi tôi phải chạy một hình ảnh Ubuntu cục bộ để đạt được hiệu suất đó.

Có suy nghĩ gì không? Bất kỳ cách nào để tối ưu hóa hiệu suất của Docker trên macOS?

Điều này làm tôi khó hiểu:

- Có một video ở trên dường như cho thấy trải nghiệm của nhà phát triển với M1 / ​​M1Pro / M1Max gốc Docker: . Nó có vẻ khá hợp lý và phản ánh cảm xúc của tôi - mặc dù bản thân tôi chưa đánh giá bất cứ điều gì.
- Có vẻ như bạn có thể cài đặt Intel Docker Desktop trên M1 thông qua Rosetta. Tôi hy vọng bạn không làm điều đó ...
- Chạy Docker trên M1 sẽ buộc bạn quản lý kiến ​​trúc của các hình ảnh bên dưới của bạn. Bạn có đang sử dụng hình ảnh arm64 không? x86_64 thông qua Rosetta? nhiều tinh bột?
- 8 lõi? ngăn xếp của bạn phức tạp như thế nào? Mục tiêu của tôi là tài nguyên tối thiểu để vùng chứa hoạt động và gỡ lỗi cục bộ (môi trường nhà phát triển) sau đó đẩy nó lên máy chủ để thử nghiệm nhiều hơn. Lần sửa cuối: Chủ nhật lúc 4:51 chiều

dgdosen

Ngày 13 tháng 12 năm 2003
Seattle
  • Chủ nhật lúc 4:33 chiều
wyrdness nói: Có một bài viết rất dài, chuyên sâu ở đây, giải thích lý do tại sao Docker cho Mac quá chậm và các tùy chọn của bạn là gì:

Đánh bại một số hiệu suất vào Docker cho Mac

Sử dụng Docker trên máy Mac vào năm 2020 có thể so sánh với việc sử dụng Peugeot 1007 năm 2009 vào năm 2020. Tôi biết vì tôi có cả hai. medium.com
FYI - bài báo này được viết trước khi Apple vận chuyển máy Mac M1, và về mặt logic, trước khi Docker (Máy tính để bàn Docker) hỗ trợ Apple Silicon.

thedocbwarren

Ngày 10 tháng 11 năm 2017
San Francisco, CA
  • Chủ nhật lúc 4:44 chiều
dgdosen cho biết: FYI - bài báo này được viết trước khi Apple xuất xưởng máy Mac M1, và về mặt logic, trước khi Docker (Máy tính để bàn Docker) hỗ trợ Apple Silicon.
Tôi sử dụng docker mỗi ngày trên chiếc M1 của mình. Chính xác thì nó chậm là gì? Và điều này được kiểm tra như thế nào? (nói chung về docker trên Mac.)

dgdosen

Ngày 13 tháng 12 năm 2003
Seattle
  • Chủ nhật lúc 4:47 chiều
thedocbwarren cho biết: Tôi sử dụng docker mỗi ngày trên chiếc M1 của mình. Chính xác thì nó chậm là gì? Và điều này được kiểm tra như thế nào? (nói chung về docker trên Mac.)
Tôi không phải là người nói rằng nó chậm ... ĐẾN

ADGrant

26 thg 4, 2018
  • Chủ nhật lúc 5:25 chiều
dgdosen cho biết: FYI - bài báo này được viết trước khi Apple xuất xưởng máy Mac M1, và về mặt logic, trước khi Docker (Máy tính để bàn Docker) hỗ trợ Apple Silicon.
Tác giả đang sử dụng Intel Mac và phàn nàn về hiệu suất Docker dành cho Mac trên Intel.

thedocbwarren

Ngày 10 tháng 11 năm 2017
San Francisco, CA
  • Chủ nhật lúc 7:45 tối
dgdosen nói: Tôi không phải là người nói rằng nó chậm ...
Ồ, tôi biết, xin lỗi đã không được hướng dẫn đúng người. Tôi đã giúp đỡ ở đây và ở đó để giúp Apple silicon được hỗ trợ bởi các công cụ khác nhau (Docker là một) và muốn hiểu thêm một chút về nó. Thêm vào đó, tôi đã không gặp vấn đề này. NS

Xiao_Xi

Ngày 27 tháng 10 năm 2021
  • Chủ nhật lúc 9:36 tối
Liệu Docker có còn phù hợp sau khi Kubernetes ngừng hỗ trợ Docker không? NS

gernot.kogler

Ngày 13 tháng 11 năm 2014
  • Chủ nhật lúc 10:50 chiều
Xiao_Xi đã nói: Bài viết này có sự so sánh giữa nerdctl và podman. https://codeengineered.com/blog/2021/podman-vs-nerdctl/

Có vẻ như podman có khả năng tương thích với Docker tốt hơn lima. Bạn có thể chạy podman vì nó là docker với bí danh docker = podman.

Bên cạnh đó, Red Hat phát triển podman, vì vậy nó có thể hỗ trợ tốt hơn lima.
Cảm ơn các liên kết. Tôi đã thử podman nhưng lima / nerdctl hoạt động tốt hơn cho tôi. Tất cả những gì tôi cần là một công cụ để khởi động các tập tin do docker-soạn. podman không thể làm điều đó ngay lập tức và sau khi cài đặt podman-compos, nó không hiển thị chính xác (tệp docker-compos chứa postgres, teedy và nginx làm proxy ngược). lima / nerdctl chỉ hoạt động. Rất vui khi có sự lựa chọn, tuy nhiên, tôi sẽ theo dõi những gì đang xảy ra với podman ...

Btw. Docker Desktop (tất nhiên là arm64 native) bắt đầu soạn nhạc docker của tôi thường xuyên. Ít nhất một nửa thời gian nó chỉ bị kẹt ở giữa khởi động và khi khởi động thành công, nó mất vĩnh viễn so với lima / nerdctl.
Phản ứng:Xiao_Xi