Oxcart İndir
Menü

Mac'te Dev Containers ve Testcontainers

Proje ortamınızı tutarlı, entegrasyon testlerinizi hızlı tutun. Oxcart, zaten kullandığınız Docker araçlarıyla Apple silicon Mac'inizde Dev Containers ve Testcontainers çalıştırır. API ile oluşturma başına 2.5 ms, 20 konteyneri kaldırmak için 77 ms ölçüldü; test ettiğimiz üç çalışma zamanı arasında en hızlısıydı. Böylece geçici test ortamları daha az bekleme gerektirir.

Güncelleme

Testlerde motor neden önemlidir

Testcontainers test paketi, bir test sınıfı için gerçek Postgres, Kafka veya Redis başlatır ve sonra kaldırır. Dev Container, projenin tüm araç zincirini yeniden derleyip başlatır. İkisinde de zaman konteyner yaşam döngüsü çağrılarına gider: tekrar tekrar oluşturma, başlatma, durdurma, kaldırma. Oxcart bu çağrılarda en hızlıdır.

Test paketinin yaptığı konteyner yaşam döngüsü çağrıları, Oxcart'ta ölçüldü
İşlemOxcart 0.1.2İkinci en hızlıya göre
API ile oluşturma (CLI olmadan)2.5 ms7×
API ile başlatma18.5 ms2,1×
API ile durdurma4.0 ms21×
20 konteyner oluşturup başlatma0.69 s2,5×
20 konteyneri durdurup kaldırma77 ms8,9×
docker run --rm … true42 ms3,4×

Oxcart 0.1.2, beraberindeki docker 29.9 istemcisiyle 2026-10-10 tarihinde ölçüldü; diğer çalışma zamanları aynı günün daha erken saatlerinde, aynı Mac ve test düzeneğinde docker 29.4 ile ölçüldü. Apple M5 Max, her birine 8 CPU ve 12 GiB, tek tek çalıştırıldı, beş örneğin medyanları. Tam tablo: karşılaştırmalar.

Dev Containers ve Testcontainers'ı Oxcart'a bağlayın

  1. Oxcart'ı kurup açın. Kurulum oxcart adlı Docker bağlamı oluşturur. Yalnızca başka bir şey kullanılmıyorsa etkinleştirir; docker context show ile kontrol edin.
  2. docker komutunu Oxcart'a yönlendirin. docker context use oxcart çalıştırın veya Settings › Command line tools altında Use Oxcart for the docker command seçeneğini açın. Kapatmak önceki bağlamınızı geri getirir.
  3. Test çerçevelerine soketi verin. Docker bağlamları yerine DOCKER_HOST okuyan araçlar için bağlamdan dışa aktarın: export DOCKER_HOST=$(docker context inspect oxcart --format '{{.Endpoints.docker.Host}}').
  4. Testlerinizi çalıştırın. Test paketinizi her zamanki gibi çalıştırın. Testcontainers konteynerlerini Docker Engine API üzerinden oluşturur, başlatır ve kaldırır.
  5. Dev Container'ı açın. Projeyi Dev Container'ında açın veya Dev Containers CLI ile devcontainer up --workspace-folder . çalıştırın.

Testcontainers

Testcontainers kütüphaneleri (Java, Go, Node, Python, .NET ve diğerleri) docker CLI üzerinden değil, doğrudan Docker Engine API ile konuşur. Oxcart API sürümü 1.54 üzerinde anlaşır ve 1.40–1.54 aralığını kabul eder; güncel Testcontainers sürümleri soketi bulduğunda özel ayar olmadan bağlanır.

Soketi bulma

Testcontainers önce DOCKER_HOST değerine bakar. Oxcart soketi özel durum klasöründe 0600 izinleriyle bulunur; yolu oxcart Docker bağlamında saklanır. Her shell için bir kez dışa aktarın veya IDE'nizin test yapılandırmasında ayarlayın:

export DOCKER_HOST=$(docker context inspect oxcart --format '{{.Endpoints.docker.Host}}')
./gradlew test        # or: mvn verify, go test ./..., pytest, npm test

Yardımcı konteynerler ve konteyner içindeki soket

Testcontainers, çöken testlerden sonra temizlik yapan küçük yardımcı konteyner başlatır; bazı kurulumlarda testler konteyner içinde çalışır. İkisi de Docker soketini bağlar. Oxcart'ta -v /var/run/docker.sock:/var/run/docker.sock, konteynere Linux tarafından aynı Docker API'ı sağlar; yardımcı konteynerler, docker-outside-of-docker, Portainer ve Traefik beklendiği gibi çalışır. Araç bunun yerine Mac tarafındaki DOCKER_HOST yolunu konteynere bağlamaya çalışırsa Testcontainers'ın standart TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE ayarı /var/run/docker.sock bağlamasını söyler.

Dockerfile'dan derlenen imajlar

Testcontainers, testinizdeki Dockerfile'dan imaj derleyebilir (ImageFromDockerfile ve karşılıkları). Bu, Oxcart'ın BuildKit üzerinde çalıştırdığı Engine API derleme uç noktasını; tar bağlamları (düz ve gzip), derleme argümanları, etiketler ve birden fazla tag ile kullanır.

Dev Containers

Dev Container, projenin araç zincirini konteyner olarak tanımlar; Dev Containers araçları (VS Code uzantısı, devcontainer CLI ve onu kullanan editörler) docker CLI üzerinden derleyip çalıştırır. Etkin bağlam oxcart olduğunda bunu Oxcart yapar.

Projenizi araç zinciri ve destekleyici servisleriyle birlikte açın. Dev Containers CLI çalışma alanını Postgres ve Redis gibi servislerle başlatır; root olmayan node kullanıcınız çalışma alanını düzenleyebilir ve projenin oluşturma sonrası betiği bağımlılıkları hazırlar. Ekip arkadaşları aynı yapılandırmadan aynı ortamı elde eder.

npm install -g @devcontainers/cli
devcontainer up --workspace-folder .
devcontainer exec --workspace-folder . bash

Apple silicon üzerinde Dev Containers ipuçları

  • Mimari: çoğu Dev Container temel imajı arm64 sunar. Yalnızca amd64 imajını Oxcart Rosetta üzerinden çalıştırır; Apple silicon üzerinde Docker Compose rehberine bakın.
  • Birimlerde bağımlılıklar: node_modules, paket önbellekleri ve veritabanı verilerini adlandırılmış birimlere koyun; kaynak kodu bind mount ile bağlanan çalışma alanında tutun.
  • Dosya izleme: Mac'teki düzenlemeler konteyner içinde inotify olayları üretmez; konteynerde çalışan izleyici periyodik yoklama kullanmalıdır.
  • Kodlama ajanları: Dev Container içinde çalışan ajan shell'ini proje konteynerinde tutar; Mac'teki ajan, Oxcart MCP sunucusuyla Dev Container servislerini inceleyebilir (Yapay zekâ kodlama ajanları için Docker).

Sürprizsiz Docker bağlamı

Oxcart kurulumda oxcart bağlamını oluşturur ve yalnızca mevcut kullanımınıza dokunmuyorsa etkinleştirir: etkin bağlam default olduğunda ve soketinde hiçbir şey yanıt vermediğinde. Aksi halde mevcut bağlamınız kalır. Settings › Command line tools altındaki Use Oxcart for the docker command, oxcart bağlamına geçer ve önceki bağlamı hatırlar; kapatmak geri döndürür. Oxcart Mac'inizde hiçbir zaman /var/run/docker.sock oluşturmaz veya değiştirmez, API'ı hiçbir zaman TCP'de değildir.

Sorular

Testcontainers, Oxcart ile Apple silicon Mac'lerde çalışır mı?

Evet. Testcontainers, Oxcart'ın uyguladığı Docker Engine API ile (1.40–1.54 sürümleri) konuşur; buna Dockerfile'dan derlenen imajlar için kullandığı derleme uç noktası dahildir. Konteynerler, Testcontainers yardımcılarının beklediği gibi Docker soketini /var/run/docker.sock konumuna da bağlayabilir.

Testcontainers için DOCKER_HOST nasıl ayarlanır?

oxcart Docker bağlamından okuyun: docker context inspect oxcart --format '{{.Endpoints.docker.Host}}', unix:// yolu yazdırır. Shell'de veya IDE test çalıştırma ayarlarında DOCKER_HOST olarak dışa aktarın.

Entegrasyon testlerim Oxcart ile neden daha hızlı?

Test paketleri zamanlarının çoğunu konteyner oluşturma, başlatma, durdurma ve kaldırmaya harcar. Aynı Mac'te Oxcart API oluşturma başına 2.5 ms, başlatma başına 18.5 ms, durdurma başına 4.0 ms ve 20 konteyneri durdurup kaldırmak için 77 ms ölçüldü: her işlemde test ettiğimiz üç çalışma zamanı arasında en hızlıydı.

VS Code Dev Containers, Oxcart ile çalışır mı?

Dev Containers CLI 0.89.0, Oxcart'ta gerçek çok servisli yapılandırmayı derleyip başlattı; Postgres ve Redis sağlıklıydı, konteyner kullanıcısı çalışma alanına yazabiliyordu. Dev Containers araçları docker CLI'ı kullanır; CLI'ı oxcart bağlamıyla Oxcart'a yönlendirin.

Dev Container içinde docker-outside-of-docker çalışır mı?

Evet. /var/run/docker.sock yolunu konteynere bağlayın; içerideki docker CLI aynı motorla konuşur. Oxcart'ın özel uç noktaları bu soketten reddedilir; konteyner konteynerleri yönetebilir ama Oxcart'ın iç bileşenlerine erişemez.

Oxcart Mac'imde /var/run/docker.sock dosyasını değiştirir mi?

Hayır. Oxcart Mac'te hiçbir zaman /var/run/docker.sock oluşturmaz veya değiştirmez. İstemciler oxcart Docker bağlamıyla veya bu bağlamın belirttiği soket yoluyla erişir.

Kaynaklar ve yöntem

  • Uyumluluk: Oxcart'ın doğrulanmış entegrasyon yolları (docker-py ve Testcontainers'ın kullandığı Engine API derlemesi, Dev Containers CLI 0.89.0, konteyner içindeki Docker soketi) ve API sürüm aralığı.
  • Docker bağlamı seçimi ve komut satırı kurulumu: dağıtıldığı haliyle Oxcart.
  • Hız verileri: Oxcart 0.1.2, 2026-10-10, Apple M5 Max, 8 CPU ve 12 GiB; diğer çalışma zamanları aynı günün daha erken saatlerinde, aynı Mac ve test düzeneğinde docker 29.4 istemcisiyle ölçüldü.

Oxcart'ı kendi projelerinizde deneyin

60 gün ücretsiz. Ardından kullanıcı ve ana sürüm başına $20: abonelik değil.

Apple silicon · macOS 26 veya üzeri

Sıradaki yazı

Sürüm notları

Oxcart 0.1.4

En yeni sürüm

Lisanslama ve iyileştirmeler.

  • E-postayla gönderilen güvenli bağlantı üzerinden lisans etkinleştirme.
  • Settings üzerinden lisans ve Mac yönetimi.
  • Çevrimdışı lisans doğrulama.
  • Performans iyileştirmeleri, arayüz düzenlemeleri ve hata düzeltmeleri.

macOS 26.0 veya üzeri gerekir

Oxcart 0.1.3

Boştayken belleği geri kazanma.

  • Çalışan konteyner olmadığında VM belleğini serbest bırakır.
  • Konteynerları, imajları, birimleri ve ağları korur.

macOS 26.0 veya üzeri gerekir

Oxcart 0.1.2

Komut satırı araçlarıyla entegrasyon.

  • Oxcart’la birlikte gelen Docker araçları ile mevcut kurulum arasında geçiş yapın.
  • Arayüz düzenlemeleri.

macOS 26.0 veya üzeri gerekir

Oxcart 0.1.1

Uygulamayla gelen Docker araçları ve ajan kontrolleri.

  • Docker CLI 29.9, Compose 5.6 ve Buildx 0.38 dahildir.
  • Docker bağlamı entegrasyonu ve kimlik bilgilerinin Anahtar Zinciri’nde güvenli saklanması.
  • Ajan başına izin ve engelleme seçenekleriyle MCP ajan bağlantıları.

macOS 26.0 veya üzeri gerekir

Oxcart 0.1.0

Apple silicon için Docker uyumlu konteynerlar.

  • Docker CLI, Compose ve Buildx uyumluluğu.
  • Uygulamayla gelen çalışma zamanı bileşenleriyle çevrimdışı kurulum.
  • Projeye ve Git dalına göre düzenlenmiş portlar.
  • Varsayılan olarak salt okunur erişimle MCP entegrasyonu.
  • Doğrulanan otomatik güncellemeler.

macOS 26.0 veya üzeri gerekir