Takip et

Docker ve Nginx ile React Uygulamasını Yayınlamak

Docker ve Nginx ile React Uygulamasını Yayınlamak

Merhaba! Ben Fatih Soysal ve bugün sizlere React uygulamalarınızı Docker ve Nginx kullanarak nasıl kolayca ve verimli bir şekilde yayımlayacağınızı adım adım göstereceğim. Bu yöntem, uygulamanızın güvenilirliğini, performansını ve ölçeklenebilirliğini önemli ölçüde artıracaktır. Öncelikle, neden bu yöntemi tercih etmeliyiz? Bunun cevabı oldukça basit: Docker, uygulamanızın çalışması için gerekli tüm bağımlılıkları tek bir paket haline getirirken, Nginx ise performanslı bir ters proxy ve web sunucusu olarak hizmet vererek, uygulamanızın hızlı ve güvenli bir şekilde çalışmasını sağlar.

Gerekli Hazırlıklar

Başlamadan önce birkaç ön koşulu yerine getirmemiz gerekiyor. Bunlar; Docker ve Docker Compose’un sisteminize kurulu olmasıdır. Kurulum işlemlerini Docker’ın resmi web sitesinden (https://www.docker.com/) inceleyebilirsiniz. Ayrıca, bir React uygulamanızın olması da şart. Eğer henüz bir React projeniz yoksa, Create React App kullanarak kolayca bir tane oluşturabilirsiniz.

Dockerfile Oluşturma

İlk adımımız, React uygulamamız için bir Dockerfile oluşturmak. Bu dosya, Docker’ın uygulamanızı nasıl oluşturacağını ve çalıştıracağını tanımlar. Aşağıdaki Dockerfile örneğini inceleyin ve projenizin kök dizinine Dockerfile olarak kaydedin:


FROM node:16-alpine AS build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

FROM nginx:alpine
COPY --from=build /app/build /usr/share/nginx/html
EXPOSE 80

Bu Dockerfile, önce bir build aşaması oluşturarak Node.js bağımlılıklarını yükler ve React uygulamanızı üretir. Sonrasında ise, Nginx tabanlı bir image’ı kullanarak üretilen uygulamayı Nginx’in doküman kök dizinine kopyalar. Sonuç olarak, Nginx, hazırlanan React uygulamasını sunar.

docker-compose.yml Oluşturma

Daha sonra, Docker Compose kullanarak uygulamamızı kolayca yöneteceğiz. Bunun için docker-compose.yml dosyasını oluşturalım:


version: "3.9"
services:
  web:
    build: .
    ports:
      - "80:80"
    volumes:
      - ./build:/usr/share/nginx/html

Bu dosya, web servisini tanımlar ve Dockerfile’ı kullanarak bir container oluşturur. Ayrıca, 80 numaralı portu, container’ın 80 numaralı portuna eşler. Bu sayede, uygulamanızı tarayıcınızdan erişebilirsiniz. volumes kısmı, geliştirme sürecinde değişiklikleri anında yansıtmak için kullanışlıdır.

Uygulamayı Yayınlama

Her şey hazır olduğunda, aşağıdaki komutları sırasıyla çalıştırarak uygulamanızı yayımlayabilirsiniz:


docker-compose up --build -d

Bu komut, docker-compose.yml dosyasını kullanarak uygulamanızı oluşturacak, ve arka planda çalıştıracaktır. Uygulamanızı http://localhost adresinden ziyaret edebilirsiniz. Uygulamayı durdurmak için ise docker-compose down komutunu kullanabilirsiniz.

Sonuç

Docker ve Nginx kullanarak React uygulamalarınızı yayımlamak, hem kolay hem de verimli bir yöntemdir. Bu yöntem, uygulamanızın ölçeklenebilirliğini ve güvenilirliğini artırır. Umarım bu makale size yardımcı olmuştur. Daha fazla bilgi ve farklı projeler için fatihsoysal.com adresini ziyaret edebilirsiniz.

Ayrıca, konu hakkında daha fazla bilgi edinmek için aşağıdaki kaynaklara da göz atabilirsiniz:

#Etiketler

React, Docker, Nginx, Dağıtım, Deployment, Web Uygulaması, Container, Sunucu, Yayımlama, Dockerfile, docker-compose.yml


Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.