Docker ile PHP Çalışma Ortamı Kurulumu: Geliştiriciler İçin Adım Adım Rehber

PHP geliştiricileri için Docker ile çalışma ortamı kurulumunu adım adım anlatan kapsamlı bir rehber. Docker’ın PHP projelerindeki faydaları, kurulum adımları ve optimizasyon ipuçları detaylı bir şekilde açıklanmıştır.

BFS

PHP geliştiricisiyseniz, projelerinizi her seferinde yeniden kurmak ve ayarlarını yapmaktan bıkmış olabilirsiniz. Hızlı bir şekilde başlamak, her ortamda aynı sonuçları almak ve taşıma sorunlarıyla uğraşmamak için en iyi çözüm: Docker!

Docker, yazılım geliştiricilerinin hayatını son derece kolaylaştıran, projelerini taşınabilir hale getiren ve her ortamda aynı sonuçları elde etmelerini sağlayan bir araçtır. PHP geliştiricileri için Docker, çalışma ortamlarını izole eder ve aynı zamanda projelerini hızla dağıtmayı mümkün kılar. Peki, Docker ile PHP çalışma ortamını nasıl kurarız? İşte adım adım rehberimiz!

1. Docker Nedir ve Neden PHP İçin Kullanılır?

Docker, yazılımlarınızı bir konteyner içinde çalıştırarak, her şeyin doğru versiyonlarını ve bağımlılıklarını paketler. Bu, uygulamanızın her yerde aynı şekilde çalışmasını sağlar. Docker'ı PHP projelerinizde kullanmanın en büyük avantajı, her şeyi tek bir konteyner içinde çalıştırarak bağımlılık yönetimi sorunlarını ortadan kaldırmanızdır.

PHP geliştiricileri için Docker, projelerinizi yerel ortamdan test sunucusuna kadar taşımayı oldukça basit hale getirir. Bunun yanı sıra, PHP’nin farklı versiyonlarıyla testler yapmak ya da veritabanı yapılandırmalarını doğru şekilde ayarlamak için mükemmel bir çözümdür.

2. Docker'ı Kurma

Docker’ı kullanmaya başlamak için öncelikle Docker'ı sisteminize kurmanız gerekiyor. İster Mac, ister Windows ya da Linux kullanıyor olun, Docker'ın kurulum işlemi oldukça basittir.

Docker'ı kurmak için:

1. [Docker’ın Resmi Web Sitesi](https://www.docker.com/get-started) üzerinden Docker Desktop'ı indirin.
2. Kurulum dosyasını çalıştırarak Docker’ı yükleyin.
3. Docker'ı başlattığınızda, Docker Engine’in düzgün çalıştığından emin olun.

Kurulum tamamlandığında, Docker'ı kullanmaya hazır hale geliyorsunuz!

3. PHP İçin Docker Konteyneri Oluşturma

Docker ile PHP çalışma ortamı kurmanın en hızlı yolu, bir `Dockerfile` oluşturmak. Bu dosya, PHP konteynerini nasıl yapılandıracağınızı belirtir. Aşağıdaki gibi bir Dockerfile oluşturabilirsiniz:


FROM php:8.1-apache

# Çalışma dizini oluşturun
WORKDIR /var/www/html

# Proje dosyalarını kopyalayın
COPY . .

# Apache'yi aktif hale getirin
RUN apt-get update && apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install gd

# Apache mod_rewrite aktif etme
RUN a2enmod rewrite

# Portu aç
EXPOSE 80

CMD ["apache2-foreground"]


Bu Dockerfile, PHP’nin 8.1 sürümünü ve Apache sunucusunu kullanarak bir konteyner oluşturur. Ayrıca, PHP'nin gerekli uzantılarını kurar ve Apache'yi başlatır. PHP dosyalarınızı bu konteynerin içine kopyaladıktan sonra, uygulamanız hızla çalışmaya başlar.

4. Docker Compose ile Veritabanı Ekleme

Docker Compose, birden fazla Docker konteynerini tek bir komutla yönetmenizi sağlar. PHP uygulamanızın bir veritabanına ihtiyacı varsa, Docker Compose kullanarak PHP ve MySQL gibi veritabanı hizmetlerini kolayca bir arada çalıştırabilirsiniz.

Aşağıdaki `docker-compose.yml` dosyasını oluşturabilirsiniz:


version: '3.7'

services:
  web:
    build: .
    ports:
      - "8080:80"
    volumes:
      - .:/var/www/html
    networks:
      - php_network

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: my_database
    networks:
      - php_network

networks:
  php_network:
    driver: bridge


Bu dosya, PHP uygulamanız için bir konteyner ve MySQL veritabanı için bir konteyner başlatır. Veritabanı için gerekli çevre değişkenlerini de ekler.

5. Docker Konteynerini Çalıştırma

Tüm yapılandırmayı tamamladıktan sonra, artık konteynerinizi çalıştırabilirsiniz. Aşağıdaki komutlarla PHP ve veritabanı konteynerlerinizi başlatabilirsiniz:


docker-compose up --build


Bu komut, Docker Compose'u kullanarak PHP ve MySQL konteynerlerini başlatır ve yapılandırmanıza göre projeyi çalıştırır.

6. Projeyi Tarayıcıda Görüntüleme

Docker konteynerleri çalıştığında, projeyi tarayıcınızda görmek için `http://localhost:8080` adresini ziyaret edebilirsiniz. Eğer her şey doğru yapılandırıldıysa, PHP uygulamanız sorunsuz bir şekilde çalışacaktır.

7. Docker Ortamını Optimize Etme

Docker konteynerlerini optimize etmek için bazı ipuçları:

- Küçük Image’lar Kullanın: Docker image’larınızı mümkün olduğunca küçük tutun. PHP image’ınızda sadece ihtiyaç duyduğunuz uzantıları kurarak gereksiz dosyaları ortadan kaldırın.
- Cache Kullanımı: Docker'ın cache mekanizmasını kullanarak daha hızlı build süreçleri elde edebilirsiniz.
- Veritabanı Yönetimi: Veritabanınızdaki veriler çok büyükse, veritabanı için ayrı bir volume kullanarak verilerinizi dışarıda tutabilirsiniz.

Sonuç

Docker, PHP geliştirme sürecini daha verimli ve taşınabilir hale getiren harika bir araçtır. Yukarıdaki adımları takip ederek, PHP çalışma ortamınızı Docker ile kurabilir ve projelerinizi her ortamda aynı şekilde çalıştırabilirsiniz. Docker ile PHP ortamınızı kurmak, geliştirme sürecinizi hızlandıracak ve taşınabilirliği arttıracaktır.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...

Yazılım Geliştiriciler İçin Verimli Çalışma Alanı Oluşturmanın İpuçları: En İyi Araçlar ve Yöntemler

Verimli Bir Çalışma Alanı Neden Önemlidir?Yazılım geliştirici olmanın zorluklarından biri de sürekli odaklanmış ve üretken olabilmektir. Bir geliştirici olarak, işlerinizin çoğunu bilgisayar başında geçirirsiniz ve bu süre zarfında verimli bir çalışma...

Kodunuzu Temiz Tutun: Yazılımda 'Yavaş Kodu' Tespit Etmenin 7 Etkili Yolu

Yazılım geliştirme dünyasında zamanın ne kadar kıymetli olduğunu hepimiz biliyoruz. Yazdığınız kodun hızlı ve verimli olması, projelerinizi başarılı kılmanın anahtarıdır. Ama ne yazık ki, çoğu zaman kodu hızlı yazmak uğruna temizliği ihmal edebiliriz....