Mac dedicated sunucuda Docker Desktop ve sanal makineler
Mac dedicated sunucuya veya macOS VDS'e Docker Desktop kurun, CPU, bellek ve disk sınırlarını ayarlayın, amd64 imajlarını Rosetta ile çalıştırın.
- Başlangıç
- 20 dk okuma
- Güncellendi
Bu sayfada
Mac dedicated sunucuda Mac donanımına kadar sizindir; bu yüzden kendi sanal makinelerini başlatan araçlar çalışır: Docker Desktop, Android emülatörü ve Apple'ın Virtualization framework'ü üzerinden macOS veya Linux sanal makineleri çalıştıran uygulamalar. Bu rehber Docker Desktop'ı kurar ve veri merkezindeki bir Mac'te önemli olan noktaları ele alır.
Başlamadan önce
- Bir Mac dedicated sunucu (Apple silicon) veya bir macOS VDS (Intel tabanlı, iç içe sanallaştırmalı). Apple Silicon macOS VPS dahil macOS VPS paketleri Docker Desktop çalıştıramaz.
- Desteklenen bir macOS: Docker Desktop güncel ve önceki iki ana macOS sürümünü destekler ve en az 4 GB bellek ister.
- HyperDC Web Console veya Apple Remote Desktop üzerinden oturum açılmış bir masaüstü; bkz. Mac dedicated sunucuyu kurma.
1. adım: Docker Desktop'ı kurun
- Mac'in tarayıcısında Docker belgelerinden Docker Desktop for Mac'i indirin: Mac dedicated sunucuda Apple silicon yapısını, macOS VDS'te Intel chip yapısını.
Docker.dmgdosyasını açın ve Docker simgesini Applications klasörüne sürükleyin.- Docker'ı Applications'tan başlatın ve ilk başlatma adımlarını tamamlayın.
Docker, en iyi sonuç için Apple silicon'da Rosetta 2'nin kurulmasını önerir. Henüz kurulu değilse:
softwareupdate --install-rosettaDoğrulama:
docker version
docker run --rm hello-worldİkinci komut "Hello from Docker!" yazar.
2. adım: Kaynakları ve başlangıç davranışını ayarlayın
Docker Desktop'ın Settings bölümünü açın:
| Yer | Ayar | Öneri |
|---|---|---|
| General | Start Docker Desktop when you sign in to your computer | Açık; böylece konteynerler yeniden başlatma ve oturum açmadan sonra geri gelir |
| General | Use Rosetta for x86_64/amd64 emulation on Apple Silicon | amd64 imajları çalıştırıyorsanız açık (sanal makine yöneticisi olarak Apple Virtualization framework gerektirir) |
| Resources › Advanced | CPU limit, Memory limit | macOS, Xcode ve Mac'teki diğer işler için yeterince bırakın |
| Resources › Advanced | Disk usage limit | İmajlarınız ve birimleriniz için yeterince büyük |
Değişikliklerden sonra Apply & restart'ı seçin.
3. adım: arm64 ve amd64 imajlarını çalıştırın
arm64 için yapılmış imajlar yerel ve en hızlı çalışır. Yalnızca amd64 için var olan bir imajda platformu açıkça isteyin:
docker image inspect --format '{{.Architecture}}' hello-world
docker run --rm --platform linux/amd64 alpine uname -mİlk komut yerel imaj için arm64 gösterir; ikincisi emüle edilen bir konteynerin içinden x86_64 yazar. Docker Compose'u diğer sistemlerdeki gibi kullanın; bkz. Docker Compose temelleri. İki mimari için imaj derlemek için bkz. çok mimarili Docker imajları.
4. adım: Konteynerleri çalışır tutun
- Konteynerleri bir yeniden başlatma ilkesiyle başlatın; örneğin
docker run -d --restart unless-stopped …veya Compose'darestart: unless-stopped. Böylece Docker Desktop başladığında geri gelirler. - Docker Desktop oturum açılmış bir kullanıcı oturumunda çalışır. Oturumu kapatmak yerine Web Console veya Apple Remote Desktop bağlantısını kesin. Gözetimsiz yeniden başlatmalar için Mac dedicated sunucuyu kurma rehberinde anlatıldığı gibi standart bir kullanıcı için otomatik giriş kullanın.
Diğer sanal makineler ve emülatörler
- Android Emulator: Android Studio'yu kurun ve arm64-v8a sistem imajıyla bir sanal cihaz oluşturun.
- macOS ve Linux sanal makineleri: Apple'ın Virtualization framework'ü üzerine kurulan uygulamalar bunları Apple silicon'da çalıştırır. Çalışan her sanal makine, Docker Desktop'ın kendi sanal makinesiyle birlikte Mac'in belleğinden ve depolamasından pay alır.
Sorun giderme
Cannot connect to the Docker daemon … Is the docker daemon running? Docker Desktop oturumunuzda çalışmıyor. Onu Applications'tan başlatın ve motorun çalıştığını bildirmesini bekleyin.
no matching manifest for linux/arm64 veya exec format error. İmajın arm64 varyantı yok. Onu --platform linux/amd64 ile (ve Rosetta açıkken) çalıştırın ya da arm64'ü destekleyen bir imaj kullanın.
Docker Desktop yeniden başlatmadan sonra başlamıyor. Kimse oturum açmamış veya Start Docker Desktop when you sign in kapalı. Bkz. 4. adım.
Disk doluyor. Kullanılmayan imajları ve derleme önbelleğini docker system prune ile kaldırın (silmeden önce sorar) ve Disk usage limit ayarını kontrol edin.
Docker Desktop macOS sürümünün desteklenmediğini bildiriyor. Xcode ihtiyaçlarınızı göz önünde tutarak macOS'u Docker'ın desteklediği aralıkta güncelleyin.
Sonraki adımlar
- Mac'i gözetimsiz çalışmaya hazırlayın: Mac dedicated sunucuyu kurma.
- arm64 ve amd64 için derleyin: çok mimarili Docker imajları.
Sık sorulan sorular
Docker Desktop'ı bir macOS VPS'te çalıştırabilir miyim?
Hayır. Docker Desktop kendi Linux sanal makinesini başlatır; bu da iç içe sanallaştırma veya fiziksel bir Mac gerektirir. Bir Mac dedicated sunucu veya macOS VDS kullanın ya da konteynerleri Mac'inizin yanındaki bir Linux sunucuda çalıştırın.
amd64 (x86) imajları Apple silicon'da çalışır mı?
Evet, emülasyonla. Docker Desktop x86_64/amd64 imajları için Rosetta kullanabilir; bunlar yerel arm64 imajlarından yavaş çalışır, bu yüzden arm64 için yayımlanmış imajları tercih edin.
Bağlantıyı kestiğimde konteynerler çalışmaya devam eder mi?
Evet, Docker Desktop'ı başlatan kullanıcı oturumu açık kaldığı sürece. Web Console veya Apple Remote Desktop bağlantısını kesmek oturumunuzu kapatmaz; oturumu kapatmak veya yeniden başlatmak Docker Desktop'ı durdurur.
Android emülatörünü çalıştırabilir miyim?
Evet. Mac dedicated sunucuda Android Studio emülatörü Apple silicon için yapılmış (arm64-v8a) Android sistem imajlarını çalıştırır.