iToverDose/Yazılım· 12 HAZIRAN 2026 · 08:03

Docker yönetiminde karışıklığa son! DockLog ile basit log takibi

Docker konteynerlarınızın loglarını SSH olmadan, sadece bir arayüz üzerinden nasıl kolayca takip edebilirsiniz? DockLog sayesinde kullanıcı dostu bir çözümle tanışın.

DEV Community4 dk okuma0 Yorumlar

Birden fazla Docker konteynerını aynı VPS ya da ev laboratuvarı sunucusunda çalıştırıyorsanız, muhtemelen şu döngüye takılmışsınız: SSH bağlantısı açıp docker logs -f something komutunu çalıştırıyor, ardından bir ekip arkadaşınızın da aynı bilgilere ihtiyacı olduğunu fark ediyor ve ya SSH anahtarlarını paylaşmaya ya da aslında ihtiyacınız olmayan karmaşık bir gözlemleme sistemine geçmeye karar veriyorsunuz. Bu durumun özellikle staging ortamları ve rastgele ev laboratuvarı hizmetleri için ne kadar yorucu olduğunu biliyorum.

Bu sorunu aşmak için DockLog adlı bir araç geliştirdim. DockLog, Docker loglarını görüntülemeye ve konteyner yönetimini basitleştirmeye yönelik, kendi kendine barındırılan bir çözüm. Tek bir konteynerla çalışıyor, ajan gerektirmiyor ve harici telemetri verilerine ihtiyaç duymuyor.

DockLog’un sundukları

  • Gerçek zamanlı loglar: WebSocket üzerinden stdout/stderr çıktılarını anında görüntüleme (polling yerine)
  • Donanım izleme: Ana makine ve konteyner bazında CPU/memory kullanımı, yaklaşık 30 günlük verinin SQLite’da saklanması
  • Çoklu kullanıcı kimlik doğrulaması: Kullanıcı başına konteyner erişim desenleri (joker karakterler ve regex desteği)
  • İsteğe bağlı eylemler: Başlat, durdur, yeniden başlat, sil ve kabuk erişimi gibi işlemler, sunucu ortam değişkenleri ve kullanıcı izinleriyle denetleniyor
  • Denetim kaydı: Kalıcı veritabanı üzerinden kimlik doğrulaması yapılan modlarda tüm işlemler kayıt altına alınıyor
  • Yerel uygulamalar: Android, Windows ve Linux için desteklenen uygulamalar sayesinde, sizin barındırdığınız DockLog sunucularına bağlanabiliyorsunuz — birden fazla sunucu ekleyip kolayca geçiş yapabilirsiniz

Kişisel kullanımımda DockLog’un yaklaşık 30–40 MB RAM tükettiğini gözlemledim. Docker Hub üzerinde aimldev/docklog:latest olarak yayınlanan görüntü hem amd64 hem de arm64 mimarilerini destekliyor. MIT lisansı altında açık kaynak olarak sunuluyor.

DockLog’un sınırları

Açık olmak gerekirse, DockLog’un kapsamı belirli bir düzeyde sınırlı:

  • Tek bir Docker motoru: DockLog örneği yalnızca tek bir Docker motorunu hedef alır — çoklu motorları tek bir panoda görüntüleme özelliği gelişim aşamasında
  • Küme ölçeğinde Loki/ELK/Grafana alternatifi değil: Büyük ölçekli sistemler için uygun değil
  • Barındırılan bir hizmet değil: Verilerin sahipliği ve yönetimi tamamen size ait
  • docker.sock hala ayrıcalıklı erişim gerektiriyor: Bu aracı kullanırken admin aracı gibi davranılmalı

Hızlı başlangıç

DockLog’u çalıştırmak için aşağıdaki docker-compose.yml dosyasını kullanabilirsiniz:

services:
  docklog:
    image: aimldev/docklog:latest
    container_name: docklog
    ports:
      - "8888:8000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
    environment:
      - SECRET_KEY=change-me-use-openssl-rand-base64-32
      - DB_PATH=/app/data/docklog.db
      - CLIENT_ACCESS=strict
      - ENV=production
    restart: unless-stopped

Ardından tarayıcınızdan adresini açın. Yeni bir kurulumda varsayılan olarak admin / admin123` kimlik bilgileriyle giriş yapabilir, ilk oturum açışınızda şifrenizi değiştirmeniz istenecektir.

Ayrıca Docker CLI üzerinden de hızlıca başlatabilirsiniz:

docker pull aimldev/docklog:latest
docker run -d \
  --name docklog \
  -p 8888:8000 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $(pwd)/data:/app/data \
  -e SECRET_KEY=your-secure-key-here \
  -e DB_PATH=/app/data/docklog.db \
  -e CLIENT_ACCESS=strict \
  --restart unless-stopped \
  aimldev/docklog:latest

RBAC: sadece arayüzde değil, arka planda da etkili

Erken dönemde aldığım bir soru şuydu: Kullanıcılara konteyner erişimini kısıtladığınızda, bu sadece kullanıcı arayüzünde mi görünüyor? Hayır. allowed_containers desenleri, konteyner listeleri, log WebSocket akışları, istatistikler ve eylemler için sunucu tarafında kontrol ediliyor. Eylem izinleri iki katmanlı olarak çalışıyor: sunucu ALLOW_* ortam değişkenleri ve veritabanındaki kullanıcı bazlı can_* izinleri — her ikisi de geçerli olmak zorunda. Admin hesapları bile bu kontrollerden muaf değil.

Kimlik doğrulamasının olmadığı modda (örneğin yerel bir dizüstü bilgisayar için uygun, ancak genel internet için değil), yalnızca ALLOW_* ortam değişkenleri erişim kontrolünü sağlıyor.

Arka plandaki teknoloji

DockLog’un mimarisi oldukça modern ve verimli:

  • Go tabanlı arka uç: Docker API ile doğrudan iletişim kuruyor
  • Vue 3 ile geliştirilen kullanıcı arayüzü: Aynı görüntünün içinde yer alıyor
  • SQLite veritabanı: Kullanıcılar, RBAC kuralları, denetim kayıtları ve kısa süreli metrik geçmişi için kullanılıyor
  • WebSocket protokolü: Gerçek zamanlı log akışları, olaylar ve isteğe bağlı kabuk oturumları için destek sunuyor
  • Flutter ile geliştirilen yerel uygulamalar: Android, Windows ve Linux platformları için destekleniyor

DockLog görüntüsü ayrıca docklog isimli bir CLI aracı da içeriyor. Bu araç PATH üzerinde bulunuyor ve reset-password, config, version komutlarının yanı sıra gelecekteki çoklu motor yönetimi için de kullanılabilecek alt komutlara sahip.

Kurmadan önce deneyin

Önceden yüklemek istemiyorsanız, halihazırda çalışan bir demo sunucusuna erişebilirsiniz:

  • `
  • Kullanıcı adı: demo / Şifre: Demo@1106

Bu demo, gerçek verilerinizi girmek için uygun değildir. Sadece arayüzü test etmek amacıyla kullanılmalıdır.

Mobil ve masaüstü istemcileri

Yerel uygulamalar, sizin barındırdığınız DockLog sunucularına bağlanan istemciler olarak çalışıyor. URL ekleyip giriş yaptıktan sonra, tarayıcı sekmesini açık tutmadan logları izleyebilirsiniz. Uygulama sayesinde üretim, staging ve ev laboratuvarı sunucularını tek bir yerde yönetebilir ve kolayca geçiş yapabilirsiniz.

Her host, kendi DockLog konteynerını çalıştırmaya devam ediyor. Uygulama, çoklu sunucuları yönetmeye yönelik; henüz tüm konteynerları tek bir pencerede görüntüleme özelliğine sahip değil.

İndirme linkleri: `

DockLog, Docker socket’ine doğrudan erişim vermek zorunda kalmadan ve tam bir loglama yığını kurmaya gerek duymadan, konteyner yönetimini basitleştirmeyi hedefliyor. Özellikle birden fazla ekip üyesinin farklı konteynerlara erişim ihtiyacı duyduğu durumlarda, bu araç oldukça kullanışlı olabilir.

DockLog’un gelecekteki gelişim planları arasında, çoklu Docker motorlarını tek bir panoda görüntüleme ve daha gelişmiş eylem izinleri yer alıyor. Bu aracı kullanmayı düşünüyorsanız, halihazırda Docker loglarını nasıl yönetmeyi tercih ettiğinizi ve hangi özelliklerin eksik olduğunu bana bildirebilirsiniz. Geri bildirimler ve GitHub üzerinden yapılan katkılar memnuniyetle karşılanıyor.

Unutmayın: docker.sock’a verdiğiniz erişim, admin haklarıyla eşdeğer olduğundan, bu aracı kullanırken güvenlik önlemlerinizi en üst düzeyde tutun.

Yapay zeka özeti

Docker konteyner loglarını SSH olmadan, sadece bir arayüz üzerinden kolayca takip edin. DockLog’un özellikleri, kurulumu ve avantajları hakkında detaylı bilgiye ulaşın.

Yorumlar

00
YORUM BIRAK
ID #MHMAQJ

0 / 1200 KARAKTER

İnsan doğrulaması

8 + 5 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.