Web Siteniz

Docker ile Web Site Yayınlama ve Nginx Konteyneri Örneği

Yazar admin
11 dakika Okuma Süresi
A+A-
Sıfırla
Docker ile Web Site Yayınlama

Günümüz dijital dünyasında web sitelerinin hızlı, güvenli ve ölçeklenebilir bir şekilde yayınlanması, başarılı bir dijital varlık yönetiminin temelidir. Uygulamaların ve web sitelerinin sorunsuz çalışması, geliştiriciler ve sistem yöneticileri için kritik önem taşır. Docker, bu ihtiyaçları karşılamak üzere ortaya çıkan, uygulamaları izole konteynerler içinde çalıştırarak geliştirme, test ve üretim süreçlerinde büyük kolaylık sağlayan bir platformdur.

Bu rehberde, Docker ile bir web sitesini nasıl yayınlayabileceğinizi adım adım öğrenirken; Nginx imajı üzerinden konteyner oluşturma, port yönlendirmesi, web sunucusunu test etme ve konteyner yönetimi konularını detaylandıracağız.

Neden Docker ile Web Site Yayınlanmalı?

Geleneksel yöntemlerle doğrudan sisteminize kurduğunuz web sunucuları, zaman zaman uygulama bağımlılıkları, uyumsuzluk sorunları veya yönetim zorlukları gibi problemler yaratabilir. Docker konteynerleri, bu problemlerin çözümünde devrim yaratan bir teknolojidir. İşte Docker ile web sitesi yayınlamanın bazı temel avantajları:

  • İzolasyon: Her konteyner, kendi bağımsız dosya sistemi ve yapılandırmasıyla çalışır. Bu sayede, bir web sitesinde meydana gelen bir hata diğer siteleri etkilemez.
  • Taşınabilirlik: Docker imajları, uygulamanın çalışması için gerekli tüm bileşenleri içerir. Bu sayede, imajı farklı sunuculara veya ortamlara sorunsuzca taşıyabilirsiniz.
  • Kolay Yönetim: Docker ile oluşturulan konteynerler, basit komutlarla başlatılabilir, durdurulabilir, yeniden başlatılabilir veya kaldırılabilir. Bu, web sitesi yönetimini büyük ölçüde kolaylaştırır.
  • Ölçeklenebilirlik: Trafiğin yoğun olduğu dönemlerde aynı imajdan birden fazla konteyner oluşturabilir, yük dengeleme yaparak performansı artırabilirsiniz.
  • Hızlı Dağıtım: Uygulama imajları sayesinde, güncelleme ve dağıtım süreçleri çok daha hızlı gerçekleşir.

Docker konteynerleri, sadece web siteleri değil, aynı zamanda veritabanları, uygulama sunucuları ve diğer altyapı bileşenleri için de kullanılabilir. Bu rehberde, özellikle Nginx imajını kullanarak bir web sitesinin nasıl yayınlanacağını öğrenerek, Docker’ın sunduğu izole ve taşınabilir yapıdan nasıl faydalanacağınızı göreceksiniz.

Nginx Konteyneri ile Web Yayını: Temel Adımlar

Aşağıdaki adımlarda, Docker Hub’dan Nginx imajını indirip, bu imajı kullanarak basit bir web sunucusu oluşturmayı öğreneceksiniz. Bu örnek, Docker ile web sitesi yayınlamanın temel adımlarını ve avantajlarını gözler önüne sermektedir.

Adım 1: Nginx İmajını İndirin

İlk adım olarak, Docker Hub’da yer alan Nginx imajını yerel sisteminize indirmeniz gerekmektedir. Terminalinize aşağıdaki komutu girerek Nginx imajını indirin:

docker pull nginx

Bu komut, Nginx imajını Docker Hub’dan indirir ve yerel imaj deposunuza ekler. Nginx, yüksek performanslı, hafif ve ölçeklenebilir bir web sunucusudur. Bu imajı kullanarak oluşturacağınız konteyner, web sitenizin temelini oluşturacaktır.

Adım 2: Nginx Konteynerini Çalıştırın

İmajı indirdikten sonra, Nginx konteynerini çalıştırarak web sunucunuzu başlatabilirsiniz. Aşağıdaki komut, Nginx konteynerini 8080 portundan çalıştıracaktır:

docker run --name my-nginx -p 8080:80 -d nginx

Bu komutun detaylı açıklaması:

  • --name my-nginx: Konteynere “my-nginx” adını verir. Bu isim, konteyneri yönetirken kullanacağınız referans adıdır.
  • -p 8080:80: Konteynerin içindeki 80 portunu, yerel makinenizdeki 8080 portuna yönlendirir. Bu sayede, tarayıcınızda http://localhost:8080 adresine giderek web sunucunuza ulaşabilirsiniz.
  • -d: Konteyneri arka planda çalıştırır, böylece terminali diğer işlemler için serbest bırakır.
  • nginx: Kullanılacak imajın adıdır.

Bu komut sayesinde, Nginx imajını temel alan bir konteyner oluşturmuş olursunuz. Konteyner, izole bir ortamda çalışarak web sitenizin yayınlanmasını sağlar.

Adım 3: Web Sunucusunu Test Edin

Konteynerinizi çalıştırdıktan sonra, web sunucusunun doğru şekilde hizmet verip vermediğini test etmeniz gerekmektedir. Tarayıcınızı açın ve aşağıdaki URL’yi ziyaret edin:

http://localhost:8080 veya http://ip:8080

Eğer her şey doğru çalışıyorsa, Nginx’in varsayılan hoş geldiniz sayfasını görmelisiniz. Bu sayfa, Docker konteyneri içinde çalışan Nginx web sunucusunun başarılı bir örneğidir. Tarayıcı üzerinden yapılan bu test, sitenizin doğru şekilde yayınlandığının ilk işaretidir.

Docker Konteynerleri ile Gelen İzolasyon ve Yönetim Avantajları

Docker konteynerleri, yalnızca web sitesi yayınlamayı kolaylaştırmakla kalmaz; aynı zamanda geleneksel kurulum yöntemlerine göre çok daha esnek ve yönetilebilir bir ortam sunar. İşte Docker konteynerlerinin sağladığı temel avantajlar:

İzolasyon

Her konteyner, işletim sisteminden izole bir ortamda çalışır. Bu sayede, bir web sitesinde meydana gelen hata veya yapılandırma sorunları diğer siteleri etkilemez. Örneğin, aynı sunucuda birden fazla web sitesi yayınladığınızda, her biri kendi bağımsız ortamında çalışır; biri çökse diğerleri sorunsuz hizmet vermeye devam eder.

Taşınabilirlik

Docker imajları, uygulamanın tüm bağımlılıklarını içerir. Bu durum, web sitenizi bir sunucudan diğerine taşırken veya farklı ortamlarda çalıştırırken hiçbir uyumsuzluk yaşanmamasını sağlar. İmajı oluşturduktan sonra, güncellemeleri ve yapılandırmaları kolayca yönetebilir, hatta imajı bulut ortamlarına veya farklı fiziksel sunuculara taşıyabilirsiniz.

Kolay Yönetim

Docker, konteynerlerin başlatılması, durdurulması, yeniden başlatılması ve silinmesi gibi işlemleri basit komutlarla gerçekleştirmenize olanak tanır. Bu da, web sitesi yönetimini oldukça pratik hale getirir. Ayrıca, konteyner logları sayesinde, herhangi bir hata durumunda sorunun kaynağına kolayca ulaşabilirsiniz.

Ölçeklenebilirlik

Yoğun trafik alan web siteleri için Docker, aynı imajdan birden fazla konteyner oluşturarak yük dengeleme yapmanıza olanak tanır. Böylece, sitenizin performansını artırabilir ve kullanıcı deneyimini optimize edebilirsiniz.

Konteyner Yönetimi: Temel Docker Komutları

Docker ile web sitesi yayınladıktan sonra, konteyner yönetimi oldukça önemli hale gelir. Aşağıda, Docker konteynerlerini yönetmek için en sık kullanılan komutları bulabilirsiniz:

Çalışan Konteynerleri Listeleme

docker ps

Bu komut, şu anda çalışan tüm konteynerleri listeler. Eğer Nginx konteyneriniz “my-nginx” adıyla çalışıyorsa, burada göreceksiniz.

Tüm Konteynerleri Listeleme (Durdurulanlar Dahil)

docker ps -a

Bu komut, hem çalışan hem de durdurulmuş konteynerleri gösterir. Sorun giderme ve geçmiş konteynerleri inceleme açısından oldukça faydalıdır.

Konteyneri Durdurma

docker stop my-nginx

Bu komut, “my-nginx” adlı konteyneri durdurur. Bakım veya güncelleme gibi işlemler için konteyneri geçici olarak kapatmak gerekebilir.

Konteyneri Başlatma

docker start my-nginx

Daha önce durdurulmuş olan konteyneri yeniden başlatır.

Konteyneri Silme

docker rm my-nginx

Konteyner artık gerekmiyorsa, bu komut ile silinebilir. Ancak, silmeden önce konteynerin durduğundan emin olunmalıdır.

Bu temel komutlar, Docker ile yayınlanan web sitenizin yönetimini kolaylaştırır. Özellikle çoklu konteyner ortamlarında her bir konteyneri ayrı ayrı kontrol etmek ve gerektiğinde müdahale etmek, sistem yöneticileri için büyük kolaylık sağlar.

Docker ile 5353 Portunda “merhaba ümit” Web Sitesi Yayınlama

Web sitenizi Docker konteynerleri sayesinde izole, yönetilebilir ve taşınabilir bir ortamda yayınlamak, geleneksel yöntemlere göre büyük avantajlar sağlar. Şimdi, 5353 portuna “merhaba ümit” yazan basit bir web sitesi oluşturmanın adımlarını detaylı olarak inceleyelim.

Adım 1: Çalışma Dizini ve Dosya Oluşturma

Öncelikle, projeniz için bir dizin oluşturup içine basit bir HTML dosyası ekleyerek başlayacağız. Terminalde aşağıdaki komutları kullanın:

mkdir my-new-site-umit
cd my-new-site-umit

Bu dizinde, “index.html” adında bir dosya oluşturun ve içine aşağıdaki HTML kodunu ekleyin:

Bu dosya, web sunucunuzda gösterilecek olan basit statik içeriği oluşturur. Dosyayı kaydedin ve bir sonraki adıma geçin.

Adım 2: Docker Konteynerini Çalıştırma

Hazırlamış olduğunuz “index.html” dosyasını, resmi Nginx imajını kullanarak Docker konteynerinde yayınlayacağız. Bu işlemde, yerel dosyanızı konteynerin varsayılan web dizini olan /usr/share/nginx/html içerisine volume olarak ekleyeceğiz. Terminalde aşağıdaki komutu kullanarak konteyneri 5353 portunda çalıştırın:

docker run --name my-new-site -p 5353:80 -v "$(pwd)/index.html":/usr/share/nginx/html/index.html:ro -d nginx

Komutun detaylı açıklaması:

  • --name my-new-site: Konteynere “my-new-site” adını verir. Bu isim, konteyneri yönetirken kullanacağınız referans adıdır.
  • -p 5353:80: Konteynerin içindeki 80 portunu, yerel makinenizdeki 5353 portuna yönlendirir. Böylece tarayıcınızda http://localhost:5353 adresini kullanarak web sitesine ulaşabilirsiniz.
  • -v "$(pwd)/index.html":/usr/share/nginx/html/index.html:ro: Şu anki dizindeki “index.html” dosyasını konteynerin /usr/share/nginx/html/index.html dizinine okuma modunda (read-only) mount eder. Bu sayede, yerel dosyada yapacağınız değişiklikler konteyner yeniden başlatıldığında otomatik olarak güncellenecektir.
  • -d: Konteyneri arka planda çalıştırır.
  • nginx: Kullanılacak imajın adıdır.

Bu adım, “merhaba ümit” mesajını içeren web sitesinin Docker konteyneri üzerinde yayınlanmasını sağlar.

Adım 3: Web Sunucusunu Test Etme

Konteynerinizi başarıyla başlattıktan sonra, web sunucusunun doğru çalıştığını test etmeniz gerekmektedir. Tarayıcınızı açın ve aşağıdaki URL’ye gidin:

http://localhost:5353 veya http://ip:5353

Eğer her şey doğru yapılandırıldıysa, tarayıcıda “merhaba ümit” yazısını görmelisiniz. Bu, Docker konteyneri içinde çalışan Nginx’in, sizin hazırladığınız statik içeriği başarıyla sunması anlamına gelir.

 Web Sunucusunu Test Etme
Web Sunucusunu Test Etme

Umarım faydalı olmuştur 🙂

Ayrıca şunları da beğenebilirsiniz

Yorum Bırakın

* Bu formu kullanarak verilerinizin bu web sitesi tarafından saklanmasını ve işlenmesini kabul etmiş olursunuz.

Bu web sitesi deneyiminizi iyileştirmek için çerezler kullanır. Bunu kabul ettiğinizi varsayacağız, ancak isterseniz devre dışı bırakabilirsiniz. Kabul Et Devamı