Node.js Web App Nasıl Dockerize Edilir?
  1. Anasayfa
  2. Yazılım

Node.js Web App Nasıl Dockerize Edilir?

0

Bu makalemde Node.js ile geliştirmiş olduğumuz Web App’i Docker Container’ına yerleştireceğimizden yani Nasıl Dockerize edeceğimizden bahsedeceğim. Uygulamaya başlamadan önce bilgisayarınızda Docker’ı yüklemiş olmanız gerekmektedir.

Bu uygulama örneği hazırlanırken VS Code editörü üzerinden çalışıldığı için bütün görseller ve kodlar buna paralel olarak gösterilmektedir.

İlk olarak basit bir Web App oluşturalım. Terminalimizde “npm init” komutunu kullanarak “package.json”u oluşturuyoruz ve “npm install express” komutunu kullanarak “Express.js” Framework’ünü yüklüyoruz.

Resim-1

Sonrasında “index.js” dosyası oluşturup demo bir uygulama hazırlayalım.


Resim-2

Şimdi sırada Node Image‘ımıza kaynak kodlarımızı kopyalamak ve “dependencies“i yüklemek var. Öncelikle “Dockerfile”ımızı oluşturuyoruz.

Resim-3

Resim-3’de bulunan Dockerfile komutları hakkında Sayın Gökçe Demir‘in “Dockerfile Komutları Nelerdir, Nasıl Hazırlanır?” adlı makalesine göz atarak bilgi sahibi olabilirsiniz.

Burada yaptığımız işlemler sırasıyla şunlardır. İlk olarak “Working Directory”mizi belirliyoruz. Sonrasında “dependencies“imizin bulunduğu “package.json”ı Image’ımızın içine kopyalıyoruz ve gerekli dosyaları yüklemesi için “npm install” komutunu çalıştırıyoruz. Docker, Image oluştururken verimliliği artırmak adına “layer cache” konseptini kullanır. Bu mantıktan yola çıkarak önce “package.json”u sonrasında geri kalan kaynak kodunu Image’ımıza kopyalıyoruz ve Container çalıştığında hangi portu dinlemesi gerektiğini belirtiyoruz. Bu örnekte 3000 portunu dinliyor.

Dockerfile verimliliğiyle alakalı daha detaylı bilgiye ulaşmak için Sayın Berfin Yavuzaslan‘ın “Dockerfile Verimliliği Nasıl Artırılır?” adlı makalesine göz atabilirsiniz. Son olarak da Container’ı başlattığımızda hangi komutu çalıştıracağımızı “CMD [“node”, “index.js”]” şeklinde belirtiyoruz.

Artık Image’ımızı oluşturabiliriz. Şu an çalıştıracağımız Dockerfile’ın bulunduğu klasörde olduğumuz için konumunu belirtirken “.” kullanıyoruz. Terminale “docker build –t node-app .” komutunu yazıyoruz ve Image’ımızın oluşmasını bekliyoruz. Bu kısım biraz zaman alabilir. (Daha öncesinde yazımı hazırlarken kurduğum için CACHED olarak gözüküyor ilk defa oluşturuyorsanız bu şekilde gözükmez.) (Resim-4)

Resim-4

Son olarak Container’ımızı başlatacağız bunun için “docker run -p 3000:3000 -d –name web-app node-app” komutunu kullanacağız. Burada “3000:3000” ifadesi ile Host’daki 3000 Port’una gelen trafiği Container’daki 3000 portuna yönlendirmesini sağlıyoruz.

Resim-5

Resim-6

Bu adımları uygulayarak Node.js ile geliştirdiğiniz Web App’leri Docker Container’ına yerleştirebilirsiniz.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar:

https://www.mshowto.org/

https://docs.docker.com/engine/reference/run/

https://hub.docker.com/_/node

https://www.mshowto.org/dockerfile-komutlari-nelerdir-nasil-hazirlanir.html

https://www.mshowto.org/dockerfile-verimliligi-nasil-artirilir.html

https://expressjs.com/en/guide/routing.html

TAGs: Node.js, Express.js, Framework, VS Code, Linux, Dosya İşlemleri, Docker, DockerHub, Web, Web Geliştirme, Javascript, Docker Container, Node, Node Image

Bu İçeriğe Tepkin Ne Oldu?
  • 5
    harika_
    Harika!!
  • 1
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 2
    k_zd_m_
    Kızdım!

1999 Yılında İstanbul'da dünyaya geldi.Eğitimini Kocaeli Üniversitesi Bilişim Sistemleri Mühendisliğibölümünde devam ettiriyor. Cloud computing , data science, webgeliştirme ve blockchain ile ilgileniyor.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

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