Kali Linux'u Docker'da çalıştırmak için resmî kalilinux/kali-rolling imajını docker pull docker.io/kalilinux/kali-rolling ile indirip docker run --tty --interactive kalilinux/kali-rolling ile başlatırsınız. Podman'da aynı imaj kısa adıyla podman run --tty --interactive kali-rolling şeklinde çalışır. Tam bir sistem gibi davranan konteyner istiyorsanız LXC/LXD imajları da vardır.

Konteyner imajları varsayılan araç setiyle gelmez; ihtiyacınız olanı içeride apt ile kurarsınız. Bu yazıda resmî imaj çeşitlerini, Kali üzerine Docker kurmayı, konteyneri durdurup yeniden açmayı, Podman ve LXC/LXD kullanımını anlatıyoruz. Docker'ın genel kavramlarına yeniyseniz önce Docker Compose başlangıç rehberine göz atabilirsiniz.

Resmî Kali Docker imajları

Resmî Kali Docker imajları: kalilinux/kali-rolling, kalilinux/kali-last-release, kalilinux/kali-bleeding-edge, kalilinux/kali-experimental

Kali, Docker Hub'daki kalilinux hesabında haftada bir güncellenen resmî imajlar yayınlar. Her imaj farklı bir Kali dalını (branch) izler:

İmajİzlediği depoNe zaman
kalilinux/kali-rollingkali-rollingÇoğu kullanıcı için ana imaj
kalilinux/kali-last-releasekali-last-snapshotSon numaralı sürümde sabit kalmak için
kalilinux/kali-bleeding-edgekali-rolling + kali-bleeding-edgeÖzel durumlar
kalilinux/kali-experimentalkali-rolling + kali-experimentalHenüz hazır olmayan güncellemeleri denemek
kalilinux/kali-devkali-devKali paketlerini yeniden derlemek

Belge açıkça kalilinux/kali-rolling imajını kullanmanız gereken ana imaj olarak gösterir. kali-last-release bir sonraki sürüme kadar güncelleme almaz. Dalların farkı Kali depoları ve dallar yazısında anlatılıyor.

Kali'ye Docker kurmak

Kali'de docker adında, konteyner yazılımıyla ilgisi olmayan başka bir paket zaten vardır. Bu yüzden Kali depolarındaki Docker paketinin adı docker.io'dur; kurduktan sonra komut yine docker olarak çalışır:

bash
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker --now
docker

Bu noktada Docker'ı sudo ile kullanabilirsiniz. sudo olmadan kullanmak için kullanıcınızı docker grubuna ekleyip oturumu kapatıp yeniden açmanız gerekir:

bash
sudo usermod -aG docker $USER

Grup kavramı için Linux kullanıcı ve grup yönetimi yazısına bakabilirsiniz. docker grubuna yalnızca güvendiğiniz hesapları ekleyin, çünkü bu grup Docker servisini doğrudan yönetebilir.

Docker deposundan docker-ce kurmak

Docker'ın kendi deposundaki docker-ce paketini tercih ederseniz Kali Debian tabanlı olduğu için Debian'ın güncel kararlı sürümünün deposunu kullanırsınız. Belge Aralık 2025 itibarıyla bunun trixie olduğunu yazar; Debian yeni bir kararlı sürüme geçtiğinde bu adı güncellemeniz gerekir.

bash
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian trixie stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list
curl -fsSL https://download.docker.com/linux/debian/gpg |
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

Kali konteynerini çalıştırma, durdurma ve silme

bash
docker pull docker.io/kalilinux/kali-rolling
docker run --tty --interactive kalilinux/kali-rolling

Bu komutlar sizi konteyner içinde root kabuğuna bırakır; exit ile çıkarsınız. Çıktığınızda konteyner silinmez, durur. Kaldığınız yerden devam etmek için önce konteyner kimliğini bulur, başlatır ve bağlanırsınız. Belgeye göre attach sonrası istemi tam görmek için bir kez Enter'a basmanız gerekir:

bash
docker container list --all
docker start d36922fa21e8
docker attach d36922fa21e8
docker rm d36922fa21e8

Buradaki d36922fa21e8 belgedeki örnek kimliktir; siz docker container list --all çıktısındaki kendi kimliğinizi yazın. Son satırdaki docker rm işiniz bittiğinde konteyneri tamamen siler.

Konteyner içinde grafik masaüstüne ihtiyacınız olursa Kali'nin Xfce ve RDP betiği Docker için de uyarlanabilir; adımlar tarayıcıda Kali, noVNC ve RDP yazısında.

Podman ile Kali imajı

Podman, Docker'a benzer komutlarla çalışan bir başka konteyner aracıdır. Belge kurulum için Podman'ın kendi belgesini izlemenizi önerir; Debian tabanlı sistemlerde tek komut yeterlidir:

bash
sudo apt update && sudo apt install -y podman
podman pull kali-rolling
podman run --tty --interactive kali-rolling

Kali imajları containers projesinin kısa adlar (shortnames) listesinde yer aldığı için tam ad olan docker.io/kalilinux/kali-rolling yerine yalnızca kali-rolling yazabilirsiniz. Belgeye göre bu, ana sistemde /etc/containers/registries.conf.d/shortnames.conf güncel olduğunda çalışır; Kali bu dosyayı sağlar. Durdurma, yeniden bağlanma ve silme Docker ile aynı mantıktadır: podman ps -a, podman start, podman attach ve podman rm. Burada da systemd çalışmaz ve imaj varsayılan metapaketi içermez.

LXC ve LXD ile tam sistem konteyneri

LXC ve LXD ile tam sistem konteyneri: Ubuntu üzerinde LXD ile Kali, Kali üzerinde LXC ile Kali

Kali'nin LXC belgesi farkı şöyle özetler: Docker uygulamalar için, LXC/LXD ise tam sistemler için tercih edilir. LXC/LXD konteynerleri sanal makine yükü olmadan Kali'yi başka bir Linux dağıtımının içinde çalıştırmanızı ve geliştirme ya da deneme için yalıtılmış ortamlar kurmanızı sağlar; anlık görüntü (snapshot) ve dondurma gibi özellikler sunar. Kali imajları LXC/LXD imaj sunucusunda amd64 ve arm64 için bulunur.

Belgeye göre LXD daha kullanışlıdır ama Kali gibi dağıtımlarda yalnızca snap paketi olarak gelir; LXC ise Kali'de yerel olarak desteklendiği ve snapd gerektirmediği için Kali üzerinde tercih edilir.

Ubuntu üzerinde LXD ile Kali

bash
sudo snap install lxd
lxd init
lxc launch images:kali/current/amd64 my-kali
lxc exec my-kali -- apt update
lxc exec my-kali -- apt install -y kali-linux-default kali-desktop-xfce
lxc exec my-kali -- adduser kali
lxc exec my-kali -- usermod -aG sudo kali
lxc console my-kali

Konteyneri lxc start my-kali, lxc stop my-kali ve lxc destroy my-kali ile yönetirsiniz. Belgede GUI uygulamaları için ayrı bir LXD profili kullanan bir örnek de vardır.

Kali üzerinde LXC ile Kali

Belge iki tür anlatır. Ayrıcalıklı (privileged) konteynerler root tarafından oluşturulur ve root olarak çalışır; kurulumları daha hızlıdır ama belgeye göre doğası gereği güvensizdir. Ayrıcalıksız (unprivileged) konteynerler kullanıcı bağlamında çalışır, daha güvenli kabul edilir ve tercih edilir. İki durumda da önce paketler kurulur, sonra imaj sunucusundan indirilir:

bash
sudo apt install -y lxc libvirt0 libpam-cgfs bridge-utils libvirt-clients libvirt-daemon-system iptables ebtables dnsmasq-base
lxc-create -t download -n my-kali

lxc-create mevcut imajları listeler ve sizden sırasıyla dağıtım için kali, sürüm için current, mimari için amd64 (ya da uygun olanı) girmenizi ister. Yönetim komutları: sudo lxc-start -n my-kali -d, sudo lxc-attach -n my-kali, sudo lxc-ls -f, sudo lxc-stop -n my-kali ve sudo lxc-destroy -n my-kali. Ayrıcalıksız kurulum için belge /etc/lxc/lxc-usernet, ~/.config/lxc/default.conf ve kullanıcı kimlik eşlemesi (lxc.idmap) ayarlarını adım adım verir.

Sık Sorulan Sorular

Kali'de neden apt install docker çalışmıyor?

Kali'de docker adlı paket konteyner yazılımı değildir. Konteyner sürümü docker.io adıyla kurulur ya da Docker'ın kendi deposundan docker-ce alınır.

Kali Docker imajında araçlar neden yok?

Belgeye göre resmî konteyner imajları varsayılan metapaketi içermez. Konteyner içinde apt update && apt -y install kali-linux-headless çalıştırın ya da yalnızca ihtiyacınız olan paketleri kurun; seçenekler metapaket rehberinde.

Konteynerden çıktım, verilerim kayboldu mu?

exit konteyneri durdurur, silmez. docker container list --all ile bulup docker start ve docker attach ile kaldığınız yerden devam edebilirsiniz. Konteyneri docker rm ile sildiğinizde içindeki değişiklikler de gider.

Docker mı LXC mi seçmeliyim?

Kali belgesine göre Docker uygulamalar, LXC/LXD tam sistemler için tercih edilir. Tek bir aracı yalıtılmış biçimde çalıştırmak için Docker ya da Podman, masaüstüyle birlikte kalıcı bir Kali ortamı için LXC/LXD daha uygundur. Tam yalıtım gerekiyorsa sanal makine de bir seçenektir.

Marka adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen kuruluşlarla bayilik veya ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: Kali Linux nedir · Docker Compose başlangıç · Metapaketler · Kali bulut kurulumu · Test laboratuvarı kurma · apt paket yönetimi