Başlamadan önce
- Apple silicon ve macOS 26 veya üstü yüklü bir Mac.
- İmajları ve birimleri kopyalarken bağlamının yanıt vermesi için diğer uygulama çalışır durumda olmalı.
- Gerçekten ihtiyaç duyduklarınızın listesi: yeniden çekemeyeceğiniz imajlar ve veri içeren adlandırılmış birimler (veritabanları, yüklenen dosyalar). Diğer her şeyi yeniden oluşturmak daha hızlıdır.
- Önce temsili bir Compose projesini deneyin. Diğerlerini taşımadan önce servislerinin başladığını, verilerinin yerinde olduğunu ve yayınlanan portlarının yanıt verdiğini kontrol edin.
Adım adım Oxcart'a geçiş
- Oxcart'ı kurun. Oxcart'ı indirin (Apple silicon, macOS 26 veya üstü) ve açın. Kurulum çevrimdışı çalışır ve saniyeler sürer; komut satırı araçlarına bağlantı oluşturan yardımcı için bir kez yönetici parolası ister.
- docker araçları hakkında karar verin. Docker Desktop veya OrbStack
dockeraracını kurduysa Oxcart her aracı iki sürümüyle listeler ve değiştirmeden önce sorar. Replace varsayılan olarak açıktır; Uninstall diğer uygulamanın araçlarını geri getirir. - oxcart bağlamını seçin. Kurulum bir
oxcartDocker bağlamı oluşturur. Yalnızca mevcut bağlamdefaultise ve hiçbir şey yanıt vermiyorsa onu etkinleştirir; bu yüzden başka bir uygulamadan geçerken genellikledocker context use oxcartkomutunu kendiniz çalıştırırsınız. - İhtiyaç duyduğunuz imajları taşıyın. Yeniden çekin veya diğer uygulamadan
docker saveçıktısınıdocker loadkomutuna aktarın; etiketler ve özetler korunur. - Veri içeren birimleri taşıyın. Diğer uygulamada küçük bir konteyner aracılığıyla her adlandırılmış birimi tar dosyasına paketleyin, ardından Oxcart'ta yeni bir birime açın.
- Compose projelerinizi başlatın. Her proje klasöründe
docker compose up -d --waitkomutunu çalıştırın. Aynı adla taşıdığınız birimler kullanılır. - Bağlantısı sabit araçları Oxcart'a yönlendirin. Docker bağlamını izleyen araçlar Oxcart'ı kendileri bulur. Yalnızca
DOCKER_HOSTokuyan bir araç için bu değişkeninoxcartbağlamının uç noktasına ayarlanması gerekir.
Komutlar
Bağlamları bulun ve geçiş yapın
docker context ls Liste oxcart bağlamını ve diğer uygulamanın bağlamını gösterir; etkin olan yıldızla işaretlidir. Ardından:
docker context use oxcart İmajları diğer uygulamadan kopyalayın
İmajları arada dosya oluşturmadan doğrudan bir motordan diğerine aktarın. Etiketler ve özetler de taşınır.
# OTHER is the other app's context name from `docker context ls`
OTHER=<other-context>
docker --context "$OTHER" save postgres:17-alpine myapp:dev | docker --context oxcart load Etiketli tüm imajları tek seferde taşımak için:
docker --context "$OTHER" images --format '{{.Repository}}:{{.Tag}}' | grep -v '<none>' \
| xargs docker --context "$OTHER" save | docker --context oxcart load Dockerfile'dan oluşturduğunuz imajları Oxcart'ta docker build veya docker compose build ile yeniden derlemek çoğu zaman daha hızlıdır; ölçümümüzde önbellekli yeniden derlemeler 121 ms sürdü.
Adlandırılmış birimi taşıyın
Bu örnek pgdata adlı bir Postgres birimini taşır. Ana klasörünüzün içindeki bir klasöre tar dosyası yazar: Oxcart ana klasörünüzü varsayılan olarak konteynerlerle paylaşır ve diğer uygulamanın da onu bind mount ile bağlayabilmesi gerekir. Kopyanın tutarlı olması için önce birimi kullanan konteynerleri durdurun.
mkdir -p ~/volume-move && cd ~/volume-move
# 1. Pack the volume in the other app
docker --context "$OTHER" run --rm -v pgdata:/from -v "$PWD":/backup alpine \
tar -C /from -czf /backup/pgdata.tgz .
# 2. Unpack it into a new volume in Oxcart
docker --context oxcart volume create pgdata
docker --context oxcart run --rm -v pgdata:/to -v "$PWD":/backup alpine \
tar -C /to -xzf /backup/pgdata.tgz Compose birimleri <project>_<volume> biçiminde adlandırır. Oxcart birimini aynı tam adla oluşturun (diğer bağlamda docker volume ls çıktısına bakın); Compose onu kullanacaktır.
Compose projelerinizi başlatın
cd ~/code/myproject
docker compose up -d --wait Sağlık denetimi bağımlılıkları, up --wait, servis adına göre DNS, init: true ve network_mode: service: eskisi gibi çalışır. Apple silicon üzerinde Docker Compose rehberine bakın.
DOCKER_HOST okuyan araçlar
Oxcart hiçbir zaman /var/run/docker.sock oluşturmaz veya değiştirmez; docker CLI, Compose, Buildx ve çoğu SDK etkin bağlamı izler. Bir araç yalnızca DOCKER_HOST okuyorsa onu Oxcart'a yönlendirin:
export DOCKER_HOST="$(docker context inspect oxcart --format '{{.Endpoints.docker.Host}}')" Konteynerlerin içinde /var/run/docker.sock bağlamak Testcontainers, docker-outside-of-docker, Portainer ve Traefik için her zamanki gibi çalışır. Mac'te Dev Containers ve Testcontainers rehberine bakın.
Geri dönün
docker context use <other-context> # back to the other app
docker context use oxcart # and to Oxcart again Geçişten sonra neler değişir
| İşlem | Oxcart 0.1.2 | OrbStack 2.2.3 | Docker Desktop 4.94.0 |
|---|---|---|---|
docker run --rm … true | 42.3 ms | 220 ms | 143 ms |
docker stop | 19.2 ms | 107 ms | 128 ms |
| 20 konteyneri durdurup kaldırma | 76.7 ms | 1,224 ms | 683 ms |
| Önbellekten derleme | 121 ms | 283 ms | 149 ms |
Oxcart 0.1.2, beraberindeki docker 29.9 istemcisiyle 2026-10-10 tarihinde ölçüldü; OrbStack 2.2.3 ve Docker Desktop 4.94.0 aynı günün daha erken saatlerinde, aynı Mac ve test düzeneğinde docker 29.4 ile ölçüldü. Tam tablolar: Docker Desktop karşılaştırması ve OrbStack karşılaştırması.
Ayrıca kodlama ajanları için yerel MCP sunucusu (tek yapıştırmayla kurulum), depo ve dala göre gruplanan portlar ve VPN, DNS ve güvenlik duvarı kurallarınızı izleyen konteyner trafiği elde edersiniz (ağ rehberi).
Sorular
Önce Docker Desktop veya OrbStack'i kaldırmam gerekir mi?
Hayır. Oxcart kendi oxcart Docker bağlamıyla yanlarına kurulur. docker context use ile geçiş yapın. İhtiyacınız olanları taşıyana kadar diğer uygulamayı kurulu tutun.
Oxcart mevcut Docker bağlamımı değiştirir mi?
Yalnızca etkin bağlam default ise ve hiçbir şey yanıt vermiyorsa. Başka bir uygulamanın bağlamı etkinse Oxcart onu değiştirmez; docker context use oxcart ile kendiniz seçersiniz.
İmajlarım ve birimlerim otomatik taşınır mı?
Hayır. Her uygulama kendi imajlarını ve birimlerini tutar. İmajları yeniden çekin veya docker save | docker load ile aktarın; veri içeren adlandırılmış birimleri yukarıda gösterildiği gibi tar dosyasıyla taşıyın. Önbellek veya diğer geçici verileri içeren birimler yeniden oluşturulabilir.
Kayıt deposu oturumlarıma ne olur?
Bir çekme işlemi kimlik bilgisi isterse bir kez docker login çalıştırın. Oxcart parolayı docker-credential-osxkeychain aracılığıyla macOS Anahtar Zinciri'nde saklar; config.json yalnızca kayıt deposunun adını tutar.
Mevcut geliştirme iş akışımı koruyabilir miyim?
Evet. docker CLI, Compose, Buildx, Dev Containers ve Testcontainers kullanmaya devam edin. Oxcart, Compose'daki privileged: true dahil ayrıcalıklı konteynerleri destekler. Önce bir projeyi taşıyın, portlarını ve verilerini kontrol edin, ardından hazır olduğunuzda diğerlerine geçin. Diğer Docker bağlamınız süreç boyunca kullanılabilir durumda kalır.
Güncellemeler konteynerlerimi korur mu?
Evet. Oxcart güncellemesi tüm konteynerleri, imajları, birimleri ve ağları korur.
Nasıl geri dönerim?
Diğer uygulamanın bağlam adıyla docker context use çalıştırın. Oxcart'ı kaldırırsanız Uninstall, değiştirdiği docker araçlarını geri getirir.
Kaynaklar ve yöntem
- Kurulum, komut satırı araçları ve Docker bağlamı: dağıtıldığı haliyle Oxcart 0.1.3.
- Uyumluluk: Oxcart'ta 2026-10-10 tarihinde test edildi (etiketleri ve özetleri koruyan save ve load, Compose, konteynerlerde Docker soketi).
- Performans ölçümleri: Oxcart 0.1.2, OrbStack 2.2.3 ve Docker Desktop 4.94.0, 2026-10-10 tarihinde tek bir Apple M5 Max üzerinde, her birine 8 CPU ve 12 GB ayrılarak, ürünler tek tek çalıştırılarak ölçüldü; beş örneğin medyanları.
- Diğer uygulamaların bağlam adları uygulamaya ve sürüme göre değişir:
docker context lsçıktısından okuyun.