Önkoşullar
Takip etmek için aşağıdakilere sahip olduğunuzdan emin olun:
- Docker yerel olarak yüklü olmalı
- Docker compose yerel olarak yüklü olmalı
- Komut satırıyla ilgili temel bilgiler
1. Docker run komutunu kullanma
Amacımıza ulaşmak için docker run komutunu kullanacağız. Cassandra’nın istediğimiz sürümü cassandra:4.0 – cassandra’nın en son sürümü.
➜ docker run -d \
--name my-cassandra \
-p 9042:9042 \
-v ~/apps/cassandra:/var/lib/cassandra \
-e CASSANDRA_CLUSTER_NAME=citizix \
cassandra:4.0
Unable to find image 'cassandra:4.0' locally
4.0: Pulling from library/cassandra
7b1a6ab2e44d: Pull complete
237daeb1ae28: Pull complete
5525469b77d0: Pull complete
3d55dee44697: Pull complete
e9433e47fbec: Pull complete
2b83006bed25: Pull complete
e6aac180715e: Pull complete
7743412d1917: Pull complete
4b91229d79d5: Pull complete
Digest: sha256:cf6ae1b3e6253c9cde91dbde6dad1d6c0314939e0f9e18253c6308482e505728
Status: Downloaded newer image for cassandra:4.0
6071e47c57f7b90d58a03ede26ce2eee220298108fd12d356525694363db4c80
Yukarıdaki komutta:
- -d, docker konteynerinin bağımsız bir işlem olarak çalışmasını bildirir. Konteyneri arka planda çalıştırır ve konteyner kimliğini yazdırır
-p
bağlantı noktası eşlemesi içindir. Container’a, konteyner portunu harici olarak açığa çıkarması talimatını veriyoruz. Konteyner bağlantı noktası 9042, ana bilgisayar bağlantı noktası 9042 ile eşlenir. Bu, hizmete localhost:9042 aracılığıyla erişilebileceği anlamına gelir- -v yönergesi birimleri bağlamak için kullanılır. Bizim durumumuzda /var/lib/cassandra konteyner birimini ~/apps/cassandra ana bilgisayar yoluna monte ediyoruz. Konteynerler, çalıştığı süre boyunca verilerini içerecek olan geçici cihazlardır. Bir konteyner durdurulduğunda verileri kaybolur. Birimlerin takılması, verilerin kapsayıcı yeniden başlatıldığında yeniden kullanılabilecek bir ana bilgisayar yoluna eklenmesini sağlar.
- -e argümanı ortam değişkenleri içindir. Sağlanan ortam değişkenleri Cassandra küme adını ayarlamak için kullanılacaktır.
Konteynerimizin beklendiği gibi çalıştığını kontrol etmek için docker ps komutunu kullanın:
➜ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6071e47c57f7 cassandra:4.0 "docker-entrypoint.s…" 50 seconds ago Up 47 seconds 7000-7001/tcp, 7199/tcp, 9160/tcp, 0.0.0.0:9042->9042/tcp, :::9042->9042/tcp my-cassandra
Benim durumumda konteyner my-cassandra (ona verdiğimiz isim) olarak çalışıyor. Etkileşimli olarak /bin/bash komutunu çalıştırırken docker exec komutunu kullanarak konteynere giriş yapabiliriz. Burada ayrıca yukarıda belirttiğimiz kimlik bilgileri ile postgtres’e giriş yapıp versiyon kontrolü yapıyoruz.
➜ docker exec -it my-cassandra /bin/sh
# cqlsh -u cassandra -p cassandra
Connected to citizix at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cassandra@cqlsh>
cassandra@cqlsh> show version
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
cassandra@cqlsh> describe keyspaces
system system_distributed system_traces system_virtual_schema
system_auth system_schema system_views
cassandra@cqlsh>
Kullanılmadığı zaman kabı temizlemeniz gerekiyorsa, şu komutu kullanarak kabı durdurabilir ve kaldırabilirsiniz:
docker stop my-<meta charset="utf-8">cassandra
# Removing
docker rm my-<meta charset="utf-8">cassandra
2. Docker-compose aracını kullanma
Docker-compose ile aynı işlevselliği elde edebiliriz. Docker Compose, çok kapsayıcılı Docker uygulamalarını tanımlamaya ve çalıştırmaya yönelik bir araçtır. Compose ile uygulamanızın hizmetlerini yapılandırmak için bir YAML dosyası kullanırsınız.
Docker Compose, hizmeti (bizim durumumuzda Cassandra) kullanılacak görüntü, kullanıma sunulacak bağlantı noktaları, bağlanacak birimler ve ortam değişkenleri gibi özelliklerle tanımlamanıza olanak tanır.
Yukarıdaki işlevselliğe ulaşmak için docker-compose’u nasıl kullanacağımız aşağıda açıklanmıştır. Bunu docker-compose.yaml olarak kaydedin:
version: '3.9'
services:
cassandra:
image: cassandra:4.0
ports:
- 9042:9042
volumes:
- ~/apps/cassandra:/var/lib/cassandra
environment:
- CASSANDRA_CLUSTER_NAME=citizix
Şimdi konteyneri çalıştıralım:
➜ docker-compose up -d
Starting tmp_cassandra_1 ... done
Komutlar:
up
konteyneri çalıştırır-d
müstakil moda alır
ps komutunu kullanarak kapsayıcı işlemlerini doğrulayın:
➜ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------------------------------
tmp_cassandra_1 docker-entrypoint.sh cassa ... Up 7000/tcp, 7001/tcp, 7199/tcp, 0.0.0.0:9042->9042/tcp,:::9042->9042/tcp, 9160/tcp
Kapsayıcıda oturum açmak ve Cassandra’da oturum açmak için şunu kullanın:
➜ docker-compose exec cassandra /bin/bash
root@08cda36eec24:/# cqlsh -u cassandra -p cassandra
Connected to citizix at 127.0.0.1:9042
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
Use HELP for help.
cassandra@cqlsh> show version
[cqlsh 6.0.0 | Cassandra 4.0.1 | CQL spec 3.4.5 | Native protocol v5]
cassandra@cqlsh> describe keyspaces
system system_distributed system_traces system_virtual_schema
system_auth system_schema system_views
cassandra@cqlsh>
Yazının orijinalini buradan okuyabilirsiniz.

Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.