Konteyner Yönetimi için Docker’da Portainer CE’nin Kurulumu | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

Konteyner Yönetimi için Docker’da Portainer CE’nin Kurulumu

Seviye: Başlangıç
Tamamlama süresi: ~30 dakika
Hedef: Bu kılavuzu tamamladığınızda, HTTPS ile güvenli hale getirilmiş ve sunucunuzun Docker altyapısını yönetmeye hazır, tam olarak yapılandırılmış bir Portainer CE paneline sahip olacaksınız. Bu kılavuzu tamamladığınızda, HTTPS ile güvenli hale getirilmiş ve sunucunuzun Docker altyapısını yönetmeye hazır, tam olarak yapılandırılmış bir Portainer CE paneline sahip olacaksınız.

Giriş

Docker tabanlı konteynerleştirme, öngörülebilir dağıtım ve verimli hizmet ölçeklendirme sağlayarak sunucu altyapısı için standart hale gelmiştir. Ancak, düzinelerce konteyner çalıştırırken, bunları yalnızca komut satırı üzerinden yönetmek zorlaşır. Portainer CE, Docker yönetimi için kullanıcı dostu bir web arayüzü sunarak bu sorunu çözer: tüm konteynerlere, durumlarına, günlüklerine ve kaynaklarına erişim sağlar ve yönetim, sistem kontrolünü kaybetmeden birkaç tıklamayla gerçekleştirilir.

Sunucu Hazırlığı

Kurulumdan önce, sunucunun Portainer dağıtımına hazır olduğundan emin olmak gerekir. Portainer kendisi bir konteyner olarak çalışır, bu nedenle yalnızca Docker'ın kurulması gerekir.

Sistem gereksinimleri:

  • İşletim sistemi: Barındırmada kullanılan herhangi bir Linux dağıtımı (Ubuntu 20.04+, Debian 11+, CentOS/Rocky Linux 8+).
  • Ayrıcalıklar: root erişimi veya sudo aracılığıyla komutları çalıştırma yetkisi.
  • Donanım gereksinimleri: En az 1 GB RAM ve 10 GB boş disk alanı.
  • Ağ gereksinimleri: Portainer erişimi için 8000 ve 9443 numaralı bağlantı noktalarının açık olması, ters proxy yapılandırması için 443 numaralı bağlantı noktasının açık olması.

Docker'ın kullanılabilirliğini kontrol etme

SSH aracılığıyla sunucuya bağlanın. Öncelikle, Docker'ın kurulu olup olmadığını ve arka plan programının çalışıp çalışmadığını kontrol edin:

docker --version sudo systemctl status docker

Docker sürümü görüntüleniyorsa ve durumu aktif (çalışıyor) ise, Docker kurulum adımı atlanabilir.

Docker'ı yükleme (gerekirse)

Yeni sunucularda genellikle Docker bulunmaz. Yüklemek için standart komut dosyasını çalıştırın (Debian/Ubuntu için):

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh sudo systemctl enable docker sudo systemctl start docker

Docker Compose eklentisini yüklemek için (önceki adımda yüklenmemişse), şunu çalıştırın:

sudo apt-get install docker-compose-plugin # For Debian/Ubuntu # or sudo dnf install docker-compose-plugin # For CentOS/Rocky Linux

Yüklü Docker Compose sürümünü kontrol edin:

docker compose version

Docker'da Portainer CE'yi Dağıtma

Portainer'ı çalıştırmanın iki ana yolu vardır: docker run komutu (hızlı başlatma) ve docker-compose.yml dosyası (yapılandırma sürümleme için kullanışlıdır).

Yöntem 1: docker run komutuyla çalıştırma

Sunucuda aşağıdaki komutu çalıştırın:

sudo docker run -d \ -p 8000:8000 \ -p 9443:9443 \ --name portainer \ --restart=always \ -v /var/run/docker.sock:/var/run/docker.sock \ -v portainer_data:/data \ portainer/portainer-ce:latest

Info

Komut, mevcut kullanıcı henüz docker grubuna eklenmediği için sudo ile çalıştırılır. Daha sonra sudo olmadan docker kullanmayı planlıyorsanız, kullanıcıyı docker grubuna ekleyin:

sudo usermod -aG docker $USER

Komutu çalıştırdıktan sonra, oturumunuzu kapatıp yeniden açmanız veya oturumunuzu yeniden başlatmanız gerekir.

Parametrelerin açıklaması:

  • -d – Konteyneri arka planda çalıştırır.
  • -p 8000:8000 – Edge ajanları ve tüneller için bağlantı noktası yönlendirme.
  • -p 9443:9443 – Güvenli web arayüzü (HTTPS) için bağlantı noktası yönlendirmesi. Portainer, kendi kendine imzalanmış bir SSL sertifikasını otomatik olarak oluşturur.
  • --name portainer – Konteynere anlamlı bir ad atar.
  • --restart=always – Arızalar veya sunucu yeniden başlatılması durumunda otomatik konteyner yeniden başlatma politikası.
  • -v /var/run/docker.sock:/var/run/docker.sock – Docker soketini Portainer konteynerinin içine bağlar. Bu, Portainer'ın ana bilgisayardaki Docker arka plan programı ile etkileşime girmesine ve onu yönetmesine olanak tanır.
  • -v portainer_data:/data – Portainer verilerini (kullanıcılar, ayarlar, bağlantı yapılandırmaları) depolamak için adlandırılmış bir birim oluşturur.
  • portainer/portainer-ce:latest – Community Edition'ın en son kararlı sürümünü içeren görüntü.

Yöntem 2: docker-compose aracılığıyla çalıştırma

Bu yöntemi kullanmak için bir dizin ve bir docker-compose.yml dosyası oluşturun:

mkdir ~/portainer-docker cd ~/portainer-docker nano docker-compose.yml

Aşağıdaki içeriği ekleyin:

services: portainer: image: portainer/portainer-ce:latest container_name: portainer restart: always ports: - "8000:8000" - "9443:9443" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data volumes: portainer_data:

Dosyayı kaydedin ve şu komutu çalıştırın:

docker compose up -d

İlk başlatma ve web arayüzü kurulumu

Portainer konteyneri başlatıldıktan sonra, ağ üzerinden erişilebilir hale gelir.

Adım 1. Web arayüzüne bağlanma

Bir tarayıcı açın ve şu adrese gidin: https://:9443.

Info

Kendi imzalı sertifikanın kullanılması nedeniyle tarayıcı bir uyarı gösterecektir. Bu, ilk çalıştırmada normaldir. Siteye devam etmelisiniz (örneğin, "Riski Kabul Et" veya "Siteye Devam Et" seçeneğine tıklayın).

Kendi kendine imzalanmış bir sertifikanın kullanılması nedeniyle tarayıcı bir uyarı gösterecektir. Siteye devam etmelisiniz.

Adım 2. Kullanıcı oluşturma

Kayıt sayfasında bir kullanıcı adı (admin önerilir) belirtmeniz ve güçlü bir şifre belirlemeniz gerekecektir.

Tip

Şifre, konteyner yönetimine tam erişim sağladığından karmaşık olmalıdır.

Adım 3. Ortamı bağlama

Kullanıcıyı oluşturduktan sonra, Portainer ortamları bağlamanızı isteyecektir. Bu aşamada, yerel Docker'ı (bağlanmış soket sayesinde zaten mevcut) bağlayabilir veya "Ortam Ekle" düğmesini kullanarak uzak ortamları eklemeye devam edebilirsiniz.

Uzak ortamlar, tek bir Portainer arayüzünden birden fazla sunucuyu yönetmeniz gerektiğinde kullanışlıdır: örneğin, farklı veri merkezlerindeki Docker ana bilgisayarlarını veya Kubernetes'e sahip sunucuları eklemek gibi. Bağlantı, Portainer aracıları aracılığıyla veya TLS sertifikaları kullanılarak API üzerinden yapılır.

  • "Başlayın" seçeneğini seçin. Bu, tek bir sunucu için temel senaryodur.
  • Portainer, yerel Docker soketini otomatik olarak algılayacaktır. Bu, "yerel" olarak görüntülenecektir.
  • Kurulumu tamamlamak için üzerine tıklayın.

Kurulum tamamlandı. Portainer kontrol paneli (ana ekran), konteynerler, görüntüler, birimler ve ağlarla ilgili kısa istatistiklerle birlikte açılacaktır.

Portainer'ın temel özellikleri

Günlük yönetim görevleri için kullanılan arayüzün ana bölümlerine bir göz atalım.

Kontrol Paneli

Genel durumu gösteren başlangıç ekranı: çalışan ve durdurulmuş konteynerlerin sayısı, indirilen görüntülerin sayısı. Sunucunun durumunu hızlı bir şekilde değerlendirmenizi sağlar.

Konteynerler

  • Merkezi yönetim bölümü. Tüm konteynerlerin listesini gösterir.
  • Konteyner yönetimi: Tek bir tıklamayla bir konteyneri başlatın, durdurun, yeniden başlatın veya silin.
  • Günlükler: "Günlükler" sekmesi, konteyner günlüklerini gerçek zamanlı olarak görüntülemenizi sağlar.
  • İnceleme: Konteyner hakkında ortam değişkenleri, bağlama noktaları, ağ ayarları gibi eksiksiz bilgileri JSON formatında görüntüler.
  • İstatistikler: Her konteyner için CPU, bellek ve ağ kullanımına ilişkin grafikler. Tek tek hizmetlerin kaynak tüketimini belirlemenize yardımcı olur.
  • Yürütme konsolu: Komutları yürütmek için bir konteyner içinde bir web terminali açma özelliği.

Yığınlar

Web arayüzünde Docker Compose'un uygulanması. Çoklu konteyner uygulamalarını dağıtmak için tarayıcı üzerinden doğrudan YAML dosyalarını yüklemenize veya oluşturmanıza olanak tanır.

Görüntüler

  • Docker görüntüsü yönetimi.
  • İndirme: Görüntüleri (örn. nginx:latest veya mysql:8.0) doğrudan arayüzden indirme özelliği.
  • Kaldırma: Disk alanını boşaltmak için kullanılmayan görüntülerin temizlenmesi.

Hacimler

Kalıcı veri birimlerinin yönetimi. Mevcut birimleri, konteynerlere bağlanma durumlarını ve kapladıkları alanı gösterir. Veritabanları ve kullanıcı verileri için hayati öneme sahiptir.

Konteyner etkileşimi için izole ağlar oluşturmanıza olanak tanır.

Değişiklikleri geri alma (Portainer'ı kaldırma)

Portainer'ı ve verilerini sunucudan tamamen kaldırmanız gerekiyorsa, şu adımları izleyin:

1. Portainer konteynerini durdurun ve kaldırın:

sudo docker stop portainer sudo docker rm portainer

2. Portainer veri birimini kaldırın (uyarı: bu işlem geri alınamaz):

sudo docker volume rm portainer_data

Danger

portainer_data birimini silmek, Portainer'ın tüm kullanıcılarının, ayarlarının ve yapılandırmalarının geri dönüşü olmayan bir şekilde kaybolmasına neden olur.

3. Portainer görüntüsünü kaldırın (isteğe bağlı):

sudo docker rmi portainer/portainer-ce:latest

Güvenlik ve öneriler

Üretim ortamı için Portainer'ın ek güvenlik yapılandırması gereklidir.

Ters Proxy (Nginx/Apache) Kullanımı

Bir alt etki alanı (örn. portainer.domain.com) kurmanız ve trafiği Nginx üzerinden yönlendirmeniz önerilir. Bu, aşağıdakileri sağlayacaktır:

  • Geçerli bir SSL sertifikasının kullanılması (Let's Encrypt'ten ücretsiz olarak veya Sectigo gibi bir sağlayıcıdan ücretli olarak alınabilir).
  • Merkezi erişim günlüğü.
  • Ek kimlik doğrulama yapılandırma olanağı.

1. Nginx'i Kurma ve Yapılandırma

Nginx'i kurun:

sudo apt install -y nginx # For Debian/Ubuntu # or sudo dnf install -y nginx # For CentOS/Rocky Linux

Portainer için bir yapılandırma dosyası oluşturun:

sudo nano /etc/nginx/sites-available/portainer.conf

Aşağıdaki yapılandırmayı ekleyin ve kısmını sunucunun IP adresine yönlendiren alan adınızladeğiştirin :

server { listen 80; server_name <YOUR_DOMAIN>; location / { proxy_pass https://localhost:9443; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; # Timeouts for long operations proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; } }

Yapılandırmayı etkinleştirin:

sudo ln -s /etc/nginx/sites-available/portainer.conf /etc/nginx/sites-enabled/

Nginx yapılandırmasını kontrol edin:

sudo nginx -t

Kontrol başarılı olursa, Nginx'i yeniden başlatın:

sudo systemctl restart nginx

2. HTTPS'yi Kurma (önerilir)

Certbot'u yükleyin:

sudo apt install -y certbot python3-certbot-nginx

Bir SSL sertifikası alın:

sudo certbot --nginx -d <your_domain></your_domain>

yerine kendi alan adınızı yazın.

Yükleme sırasında e-posta adresinizi girin (örneğin, admin@), ardından iki kez Y tuşuna basın.

Otomatik sertifika yenilemeyi işaretleyin:

sudo systemctl list-timers | grep certbot

Güvenlik duvarı yapılandırması

Portainer bağlantı noktalarına doğrudan erişim kısıtlanmalıdır. Yalnızca güvenilir IP adreslerinden 8000 ve 9443 numaralı bağlantı noktalarına erişime izin verin.

Danger

Güvenlik duvarı kurallarına dikkat edin. Yanlış yapılandırma, sunucuya erişiminizi engelleyebilir.

UFW için örnek:

sudo ufw allow from 192.168.1.0/24 to any port 9443 proto tcp sudo ufw deny 9443

Burada 192.168.1.0/24, güvenilir IP adreslerinin alt ağıdır.

Düzenli güncellemeler

Olası güvenlik açıklarını ortadan kaldırmak için yeni Portainer sürümlerinin yayınlanmasını takip etmeniz ve konteyneri zamanında güncellemeniz önerilir.

Çalışmayı doğrulama

Portainer'ın doğru çalıştığını doğrulamak için aşağıdaki işlemleri gerçekleştirin.

  1. Görsel kontrol: "Konteynerler" bölümünde, Portainer konteynerinin "çalışıyor" durumunda olduğundan emin olun.
  2. Test konteyneri oluşturma:
    • "Konteynerler" bölümüne gidin ve "Konteyner ekle" düğmesine tıklayın.
    • "Ad" alanına test-nginx yazın.
    • "Görüntü" alanına nginx:alpine yazın.
    • "Port eşlemesi" bölümünde, ana bilgisayar portu olarak 8080'i, konteyner portu olarak 80'i belirtin.
    • "Konteyneri dağıt" seçeneğine tıklayın.
  3. Erişilebilirlik kontrolü:
    • Konteynerin listede "çalışıyor" durumuyla görünmesini bekleyin.
    • Bir tarayıcı açın ve http://<YOUR_IP_ADDRESS>:8080 adresine gidin. Nginx karşılama sayfası görüntülenmelidir.
  4. Yönetim kontrolü:
    • Portainer'da test-nginx konteynerini bulun ve "Durdur" düğmesine tıklayın.
    • Tarayıcıdaki Nginx sayfasını yenileyin – sayfaya erişim mümkün olmamalıdır.
    • "Başlat" düğmesine tıklayın – sayfaya erişim yeniden sağlanmalıdır.

Sorun Giderme

Sorun 1: https://:9443adresindeki Portainer web arayüzü açılamıyor

Olası neden: Güvenlik duvarı 9443 numaralı bağlantı noktasını engelliyor.
Çözüm: Güvenlik duvarı kurallarını kontrol edin ve bağlantı noktasının açık olduğundan emin olun. UFW için: sudo ufw status | grep 9443.

Sorun 2: Docker komutları çalıştırılırken "Docker daemon'a bağlanılamıyor" hatası.

Olası neden: Docker arka plan programı çalışmıyor veya kullanıcının izinleri yetersiz.
Çözüm: Daemon'ubaşlatın : sudo systemctl start docker. Kullanıcıyı docker grubuna eklediyseniz, oturumu kapatıp yeniden giriş yapın.

Sorun 3: Portainer konteyneri başlamıyor ve hemen kapanıyor (durum: exited).

Olası neden: Bağlantı noktası çakışması veya bozuk bir görüntü.
Çözüm: 9443 numaralı bağlantı noktasının başka bir uygulama tarafından kullanılıp kullanılmadığını kontrol edin: sudo ss -tulpn | grep 9443. Bağlantı noktasını yeniden atamayı deneyin ve konteyneri yeniden başlatın: sudo docker restart portainer.

Sonuç

Portainer CE, Docker konteynerlerinin görsel olarak izlenmesi ve yönetimi için etkili bir araç sunar. SSH üzerinden bağlanmadan konteynerlerin durumunu hızlıca değerlendirebilme, kaynak tüketim grafiklerini analiz edebilme ve tipik işlemleri gerçekleştirebilme özelliği, olaylara müdahale süresini kısaltır ve günlük yönetimi kolaylaştırır.

Bu araç, geliştiricilere veya daha az deneyimli personele sunucu komut satırına doğrudan erişim izni vermeden konteyner yönetimine sınırlı erişim sağlamak gerektiğinde faydalı olabilir. Portainer CE, konteyner altyapısını görselleştirmek için standart bir çözümdür ve sunucularda kullanılması önerilir.

---

Belge Sürümü: 1 .1
Son Güncelleme: Mart 2026
Sorumlu: Teknik Dokümantasyon Ekibi

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA