All-in-One Docker Kurulumu
Bu sayfa Apinizer'ın çekirdek modüllerinin Docker üzerinde kurulumunu tek yerde gösterir. Sıra önemli: önce Manager (kayıt + Environment), sonra Cache, sonra Worker. Integration sadece task-flow scheduler kullanılacaksa kurulur. API Portal ayrı bir sayfada kurulur — Manager kurulumundan sonra yapılır.
- Genel Bakış
- 1. API Manager
- 2. API Worker
- 3. API Cache
- 4. API Integration (Opsiyonel)
Apinizer Docker Hub üzerinde resmi imaj olarak yayınlanır. İmajlar Eclipse Temurin 25 üzerine kuruludur; entrypoint container memory limit'ini okuyup heap / direct memory / metaspace değerlerini otomatik ayarlar.
Hassas değerler (MongoDB URI, secret'lar) Docker akışında plaintext environment variable olarak gönderilir — konteyner, Linux paketindeki boot-time ENC(...) decrypt sürecini çalıştırmaz. Güvenli aktarım için Docker Secret (Compose / Swarm) veya Kubernetes Secret kullanın.
Tüm modülleri tek docker-compose.yml ile birlikte ayağa kaldırmak istiyorsanız:
5 modülün hep birlikte tek docker-compose.yml ile kurulduğu referans örnek
Önerilen Kurulum Sırası
- MongoDB (önceden kurulu olmalı — bkz. MongoDB Kurulumu)
- API Manager → MongoDB ile bağlantı doğrulanır, Mongock migration'ları çalışır
- Worker → Manager'dan Environment bilgisini alır
- Cache → Hazelcast cluster (Worker quota/OIDC/CB kullanacaksa)
- Integration (opsiyonel) → Quartz scheduler ayağa kalkar, Manager'a register edilir
- API Portal → Manager REST API'sine bağlanır, dokümantasyonu sunar
İmaj Konvansiyonu
Tüm imajlar apinizercloud/<modul> altında yayınlanır:
| Modül | İmaj |
|---|---|
| API Manager | apinizercloud/apimanager |
| API Portal | apinizercloud/apiportal |
| Worker | apinizercloud/worker |
| Cache | apinizercloud/cache |
| Integration | apinizercloud/integration |
Tag konvansiyonu
| Tag | Kanal | Not |
|---|---|---|
<MAJOR.MINOR.PATCH> (örn. 2026.04.5) | release | Production'a yükseltilebilir |
<MAJOR.MINOR.PATCH>.qa.<N> (örn. 2026.04.5.qa.1) | QA | Pre-release, değişebilir |
<MAJOR.MINOR.PATCH>-rc.<id> | release candidate | Donmuş, immutable |
<MAJOR.MINOR.PATCH>-SNAPSHOT | develop | Yuvarlanan, prod'da kullanmayın |
latest tag'i yayınlanmaz — daima açık bir versiyon tag'ine pin'leyin.
Apple Silicon (M1/M2/M3/M4) Üzerinde
İmajlar şu an yalnızca linux/amd64 için yayınlanır. Apple Silicon Mac'lerde Docker Desktop uyarı verir ("Image may have poor performance, or fail, if run via emulation"). Çözüm:
- Docker Desktop → Settings → General → "Use Rosetta for x86_64/amd64 emulation on Apple Silicon" seçeneğini açın. QEMU yerine Apple Rosetta ile çalışır, performans büyük oranda artar.
- Üretim için x86_64 Linux host kullanın.
Ortak Gereksinimler
Tüm modüller aynı MongoDB veritabanına bağlanır
Hangi modülün hangi portu kullandığını gösteren tablo
Güncelleme
Docker üzerinde güncelleme için: Docker Üzerinde Güncelleme
API Manager, Apinizer'ın yönetim düzlemidir: REST API, iş mantığı, Angular UI ve MongoDB üzerinde proxy/policy/environment kayıtlarını barındırır. Bu modülün başarıyla ayağa kalkması ve UI'da en az bir Environment tanımlanması, sonraki adımların (Cache, Worker) ön koşuludur.
Bu rehber Apinizer API Manager Docker imajının bir Linux host üzerinde nasıl çalıştırılacağını anlatır. İmaj uygulamayı, bağımlılıklarını ve OpenJDK 25 runtime'ını içinde taşır — host üzerinde Java gerekmez. Entrypoint, başlangıçta konteyner memory limit'ini okur ve heap / direct memory / metaspace değerlerini otomatik olarak seçer.
Hassas değerler (MongoDB URI, secret'lar) Docker akışında plaintext environment variable olarak gönderilir — konteyner Linux paketinde kullanılan boot-time ENC(...) decrypt sürecini çalıştırmaz. Güvenli aktarım için Docker Secret (Compose / Swarm) veya Kubernetes Secret kullanın.
Gereksinimler
- Docker Engine 24+ kurulu bir Linux x86-64 host (veya Docker Desktop)
docker.io(veyaapinizercloud/apimanagerimajını barındıran bir mirror) erişimi- Erişilebilir bir MongoDB (üretim için replica set önerilir)
- Manager'ı dışarı açacak boş bir TCP port (varsayılan
8080)