Portainer CE'nin Kurulumu ve Yapılandırılması | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

Portainer CE'nin Kurulumu ve Yapılandırılması

Düzey: Başlangıç
Tamamlama Süresi: ~30 dakika

Hedef: Bu kılavuzu tamamladığınızda, HTTPS ile güvence altına alınmış ve sunucunuzun Docker altyapısını yönetmeye hazır tam yapılandırılmış bir Portainer CE paneline sahip olacaksınız.

Giriş

Docker tabanlı konteynerleştirme, sunucu altyapısı için standart hale gelmiştir ve öngörülebilir dağıtım ve verimli hizmet ölçeklendirmesi sağlar. Ancak, onlarca konteyner çalıştırırken, bunları yalnızca komut satırı üzerinden yönetmek zahmetli hale gelir. Portainer CE, Docker yönetimi için kullanıcı dostu bir web arayüzü sunarak bu sorunu çözer: tüm konteynerlere, durumlarına, loglarına ve kaynaklarına erişim sağlar ve yönetim, sistem kontrolünü kaybetmeden birkaç tıklama ile 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 yüzden yalnızca Docker'ın kurulması gerekir.

Sistem Gereksinimleri

  • İşletim sistemi: Herhangi bir Linux dağıtımı (Ubuntu 20.04+, Debian 11+, CentOS/Rocky Linux 8+) hostingde kullanılır.
  • Ayrıcalıklar: root erişimi veya sudo ile komut çalıştırma yeteneği.
  • Donanım gereksinimleri: Minimum 1 GB RAM ve 10 GB boş disk alanı.
  • Ağ gereksinimleri: Portainer erişimi için 8000 ve 9443 portlarını, ters proxy yapılandırması için 443 portunu açın.

Docker Mevcutluğunu Kontrol Etme

SSH üzerinden sunucuya bağlanın. Öncelikle, Docker'ın kurulu olup olmadığını ve daemon'un çalışıp çalışmadığını kontrol edin:

docker --version sudo systemctl status docker

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

Docker Kurulumu (gerekirse)

Yeni sunucularda genellikle Docker bulunmaz. Kurmak için, standart script'i ç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 kurmak için (önceki adımda kurulmadıysa), şu komutu çalıştırın:

sudo apt-get install docker-compose-plugin # Debian/Ubuntu için # veya sudo dnf install docker-compose-plugin # CentOS/Rocky Linux için

Kurulu docker compose sürümünü kontrol edin:

docker compose version

Docker'da Portainer CE Dağıtımı

Portainer'ı çalıştırmanın iki ana yolu vardır: docker run komutu ile (hızlı başlangıç) ve docker-compose.yml ile (yapılandırma sürümlendirmesi için uygun).

Yöntem 1: docker run ile Ç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 docker'ı sudo olmadan kullanmayı planlıyorsanız, kullanıcıyı docker grubuna ekleyin: sudo usermod -aG docker $USER. Komutu çalıştırdıktan sonra oturumu kapatıp tekrar 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 port yönlendirme.
  • -p 9443:9443 – Güvenli web arayüzü (HTTPS) için port yönlendirme. Portainer otomatik olarak kendi imzalı bir SSL sertifikası oluşturur.
  • --name portainer – Konteynere anlamlı bir ad atar.
  • --restart=always – Başarısızlıklar veya sunucu yeniden başlatıldığında otomatik konteyner yeniden başlatma politikası.
  • -v /var/run/docker.sock:/var/run/docker.sock – Docker soketini Portainer konteynerinin içine monte eder. Bu, Portainer'ın ana bilgisayardaki Docker daemon ile etkileşimde bulunmasına 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 hacim oluşturur.
  • portainer/portainer-ce:latest – Topluluk Sürümünün en son kararlı sürümüne sahip görüntü.

Yöntem 2: docker-compose ile Çalıştırma

Bu yöntemi kullanmak için bir dizin ve 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 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://<sunucu-IP-adresi>:9443.

Info

Kendi imzalı bir sertifika kullanımı nedeniyle, tarayıcı bir uyarı gösterecektir. Bu, ilk çalıştırma için normaldir. Siteye devam etmelisiniz (örneğin, "Riski Kabul Et" veya "Siteye Devam Et"e tıklayın).

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 karmaşık olmalıdır, çünkü konteyner yönetimine tam erişim sağlar.

Adım 3. Ortamı bağlama

Kullanıcı oluşturduktan sonra, Portainer size ortamları bağlamanızı isteyecektir. Bu aşamada, yerel Docker'ı (monte edilmiş soket sayesinde zaten mevcut) bağlayabilir veya "Ortam Ekle" düğmesi aracılığıyla 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 ile sunucuları eklemek. Bağlantı, Portainer ajanları 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ılar. "local" 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, hacimler ve ağlar hakkında kısa istatistiklerle açılacaktır.

Portainer'ın Ana Özellikleri

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

Kontrol Paneli

Çalışan ve durdurulmuş konteynerlerin sayısını, indirilen görüntülerin sayısını gösteren başlangıç ekranı. Sunucu durumunu hızlıca değerlendirmeye olanak tanır.

Konteynerler

  • Merkezi yönetim bölümü. Tüm konteynerlerin bir listesini görüntüler.
  • Konteyner yönetimi: Bir konteyneri başlatma, durdurma, yeniden başlatma, silme tek bir tıklama ile yapılır.
  • Loglar: "Loglar" sekmesi, konteyner loglarını gerçek zamanlı olarak görüntüleme erişimi sağlar.
  • İnceleme: JSON formatında konteyner hakkında tam bilgi gösterir: ortam değişkenleri, montaj noktaları, ağ ayarları.
  • İstatistikler: Her konteyner için CPU, bellek ve ağ tüketim grafikleri. Bireysel hizmetlerin kaynak tüketimini belirlemeye yardımcı olur.
  • Yürütme konsolu: Bir konteyner içinde komut çalıştırmak için web terminali açma yeteneği.

Yığınlar

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

Görüntüler

  • Docker görüntü yönetimi.
  • Çekme: Görüntüleri (örneğin, nginx:latest veya mysql:8.0) doğrudan arayüzden indirme yeteneği.
  • Kaldırma: Disk alanını boşaltmak için kullanılmayan görüntüleri temizleme.

Hacimler

Kalıcı veri hacimlerinin yönetimi. Mevcut hacimleri, konteynerlere bağlantılarını ve kapladıkları alanı gösterir. Veritabanları ve kullanıcı verileri için kritik öneme sahiptir.

Ağlar

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 hacmini kaldırın (uyarı: bu işlem geri alınamaz):

sudo docker volume rm portainer_data

Tip

portainer_data hacmini 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 yol açacaktır.

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 için, Portainer'ın ek güvenlik yapılandırması gereklidir.

Ters Proxy Kullanımı (Nginx/Apache)

Bir alt alan adı (örneğin, portainer.domain.com) ayarlamanız ve trafiği Nginx üzerinden proxy yapmanız önerilir. Bu, şunları sağlayacaktır:

  • Geçerli bir SSL sertifikası kullanımı (Let's Encrypt'ten ücretsiz veya Sectigo gibi ücretli bir SSL).
  • Merkezi erişim kaydı.
  • Ek kimlik doğrulama yapılandırma yeteneği.

1. Nginx Kurulumu ve Yapılandırması

Nginx'i kurun:

sudo apt install -y nginx # Debian/Ubuntu için # veya sudo dnf install -y nginx # CentOS/Rocky Linux için

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

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

Sunucunun IP'sine işaret eden alan adınızla <YOUR_DOMAIN> kısmını değiştirerek aşağıdaki yapılandırmayı ekleyin:

server { listen 80; server_name ; 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; # Uzun işlemler için zaman aşımı 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

Eğer kontrol başarılıysa, Nginx'i yeniden başlatın:

sudo systemctl restart nginx

2. HTTPS Kurulumu (önerilir)

Certbot'u kurun:

sudo apt install -y certbot python3-certbot-nginx

Bir SSL sertifikası alın:

sudo certbot --nginx -d

<YOUR_DOMAIN> kısmını alan adınızla değiştirin.

Kurulum sırasında, e-posta adresinizi girin, örneğin admin@<YOUR_DOMAIN>, ardından iki kez Y tuşuna basın.

Otomatik sertifika yenilemeyi kontrol edin:

sudo systemctl list-timers | grep certbot

Güvenlik Duvarı Yapılandırması

Portainer portlarına doğrudan erişim kısıtlanmalıdır. 8000 ve 9443 portlarına yalnızca güvenilir IP adreslerinden erişime izin verin.

Tip

Güvenlik duvarı kurallarıyla dikkatli olun. 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

Yeni Portainer sürümlerinin yayınlanmasını takip etmek ve potansiyel güvenlik açıklarını ortadan kaldırmak için konteyneri zamanında güncellemek önerilir.

Çalışmayı Doğrulama

Portainer'ın düzgün ç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ışır durumda olduğundan emin olun.

2. Test konteyneri oluşturma:

  • "Konteynerler" bölümüne gidin, "Konteyner ekle" düğmesine tıklayın.
  • "Ad" alanına test-nginx belirtin.
  • "Görüntü" alanına nginx:alpine belirtin.
  • "Port eşleme" bölümünde, ana bilgisayar portu 8080, konteyner portu 80 belirtin.
  • "Konteyneri dağıt" düğmesine tıklayın.

3. Erişilebilirlik kontrolü:

  • Konteynerin çalışır durumda bir durumla listede 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ıda Nginx sayfasını yenileyin – erişim sağlanamamalıdır.
  • "Başlat" düğmesine tıklayın – sayfaya erişim geri gelmelidir.

Sorun Giderme

Sorun 1: https://<YOUR_IP_ADDRESS>:9443 adresinde Portainer web arayüzü açılamıyor

Olası neden: Güvenlik duvarı 9443 portunu engelliyor.

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

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

Olası neden: Docker daemon çalışmıyor veya kullanıcı izinlere sahip değil.

Çözüm: Daemon'u başlatın: sudo systemctl start docker. Kullanıcıyı docker grubuna eklediyseniz, oturumu kapatıp tekrar açın.

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

Olası neden: Port çakışması veya bozuk bir görüntü.

Çözüm: 9443 portunun başka bir uygulama tarafından kullanılıp kullanılmadığını kontrol edin: sudo ss -tulpn | grep 9443. Portu yeniden atamayı deneyin ve konteyneri yeniden başlatın: sudo docker restart portainer.

Sonuç

Portainer CE, Docker konteynerlerinin görsel izlenmesi ve yönetimi için etkili bir araç sağlar. Konteynerlerin durumunu hızlıca değerlendirme, kaynak tüketim grafiklerini analiz etme ve SSH üzerinden bağlanmadan tipik işlemleri gerçekleştirme yeteneği, olaylara yanıt süresini azaltır ve günlük yönetimi basitleştirir.

Bu araç, geliştiricilere veya daha az deneyimli personele konteyner yönetimine sınırlı erişim sağlamak gerektiğinde, sunucu komut satırına doğrudan erişim vermeden 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
Sahibi: 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