- Published
React uygulamasına Dockerfile eklenmesi 💫
- Yazar
- İsim
- Elif Nur Karakoç
Dockerfile oluşturarak React uygulamamızı Docker ile ayağa kaldırabiliriz. Bu yazımda daha önce webpack ile sıfırdan oluşturduğum React uygulamasını kullanacağım.
Docker ile ilgili yazıdığım yazılara aşağıdaki linkten ulaşabilirsin.
Dockerfile Örnek:
FROM node:19-slim
WORKDIR /src
COPY . .
RUN npm install --force
RUN npm install -g live-server
RUN npm run build
EXPOSE 8080
CMD ["live-server","build/"]
- FROM ile node’un 19-slim versiyonu base image olarak ayarlanır.
- WORKDIR ile çalışılcak dizin söylenir.
- src klasöründeki herşey COPY ile aktarılır.
- RUN ile gerekli bağımlılıklar indirildikten sonra uygulamanın build’i alınır.
- EXPOSE ile bu image’in container olduğunda kullanıcağı port söylenir
- CMD ile projeyi çalıştırıcak komut söylenir.
Dockerfile dosyasını oluşturduktan sonra build komutu container oluşturulur.
docker build . -t react-app
Oluşan containerı run komutu ile çalıştıralım:
docker run -p 9000:8080 react-app
- Dışarı 9000 portu ile açılır.
http://127.0.0.1:9000/ adresinden uygulamaya erişebiliyoruz.
Docker Compose Ekleme
docker-compose.yml örnek:
version: "3.4"
services:
react-app:
container_name: react-app
build: .
ports:
- 9000:8080
- versionlara göre farklı davranış gösterebiliyor.
- services altında ayrı ayrı imageler için tanımlamaları yapılır.
- react-app altında bulunan build ile bulunduğu dizindeki Dockerfile ile build al denir.
- container_name ile container adı tanımlanır.
- ports ile birden fazla port tanımı yapılabilir. Bu tanımlamada 9000 üzerinden çalışır ama docker host üzerinde 8080 portunu alır.
Docker-compose dosyasının çalıştırılması için (build alır ve çalıştırır):
docker-compose up
http://127.0.0.1:9000/ adresinden uygulamaya erişebiliyoruz.
Sadece build alması için:
docker-compose build
Container kapatmak ve silmek için:
docker-compose down
Okuduğun için teşekkürler 💐
Elif