Docker ile Nodejs uygulaması nasıl oluşturulur

Bu makale size Docker konteynerizasyonu ile bir Nodejs uygulamasının nasıl oluşturulacağınızı açıklayacaktır. Docker, uygulamaları kaplar olarak paketlemeye ve çalıştırmaya izin verir.

Bugün yazılım geliştirme araçları hakkında bir dizi öğretici başlıyoruz. Ve bu ilk makale, Docker kullanarak bir Node.js uygulamasının nasıl kapsayıcılarını kapsayacağını kapsar. Docker, geliştiricilerin uygulamaları kaplama olarak paketlemelerine ve çalıştırmasına yardımcı olur. Konteyner izole bir işlem ve sanal makinelere hafif bir alternatif olduğundan. Bu makalede, Docker konteynerizasyonu ile bir Nodejs uygulamasının nasıl oluşturulacağı açıklanmaktadır. Başlayalım!

Docker nedir

Docker, kapsayıcılar adı verilen paketlerde yazılım sunmak için işletim sistemi düzeyindeki sanallaştırma kullanan bir servis ürünleri olarak bir platform kümesidir. Uygulamalar geliştirmek, nakliye ve çalıştırmak için açık bir platformdur. Docker, yazılımları hızlı bir şekilde sunabilmeniz için uygulamalarınızı altyapınızdan ayırmanızı sağlar. Docker bir müşteri sunucusu mimarisi kullanır. Docker istemcisi, Docker kaplarınızı binanın, çalıştırmanın ve dağıtmanın ağır kaldırmasını yapan Docker Daemon ile konuşuyor. Docker istemcisi ve daemon, UNIX soketleri veya bir ağ arayüzü üzerinden bir REST API kullanarak iletişim kurar. İşte Docker mimarisinin şeması.

Docker Mimarisi

Önkoşul

  • Ubuntu sunucusu
  • Docker sunucuya yüklendi
  • Node.js npm yüklü

Kurulum node.js uygulaması

Görüntünüzü oluşturmak için önce uygulama dosyalarınızı yapmanız gerekir; bu, daha sonra kabınıza kopyalayabilirsiniz. Bu dosyalar uygulamanızın statik içeriğini, kodunu ve bağımlılıklarını içerecektir. İlk olarak, kök dışı kullanıcının ana dizininde projeniz için bir dizin oluşturun. Ardından, oluşturduğunuz yeni bir klasörde aşağıdaki komutu yürütün.

npm init -y
npm i -s express

Yukarıdaki komut, bağımlılık olarak yüklü Express Framework ile bir Node.js uygulaması oluşturacaktır. Aşağıdaki kodu app.js dosyasına ekleyelim.

const express = require(‘express’);
const app = express();
app.get(‘/’, function(req,res){
  res.send(“Hello World”);
});
const port = 3000;
app.listen(port, function () {
  console.log(‘Listening on port 3000!’)
})

Uygulamayı Düğüm App.js ile başlatın

node app.js

Tarayıcınızı http: // \ _server \ _IP: 3000 adresine yönlendirin. Aşağıdaki açılış sayfasını göreceksiniz. Şimdi çalışır durumda bir uygulamanız var. Artık bu uygulamayı yeniden yaratmamıza ve ölçeklendirmemize izin verecek DockerFile oluşturmak için devam edebiliriz.

Dockerfile yaz

DockerFile kullanarak, uygulandığında uygulama konteynerinize neyin dahil edileceğini ve konteyner ortamı belirleyebilirsiniz. Her şeyden önce, projenizin kökünde aşağıdaki komutla DockerFile oluşturun.

vi Dockerfile

Uygulamanın temel resmini ayarlamak için talimattan aşağıdaki ekleyin:

FROM node:12-alpine

{{LINE_43}} {{LINE_44}} Docker görüntüsüne ait olmayan dosyaları kaldırmak için .docherignore dosyası ekleyebilirsiniz. {{LINE_46}} {{LINE_47}} Uygulama dizini ile birlikte /ev /düğümde node_modules alt dizinini oluşturalım. Bu, NPM yüklemeli kapta yerel düğüm modülleri oluşturduğumuzda önemli olacak gerekli izinlere sahip olmalarını sağlayacaktır.

...
RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app

Ardından, uygulamanın çalışma dizinini/home/node/app olarak ayarlayın:

...
WORKDIR /home/node/app

Ardından, Package.json ve Pack-Lock.json’u kopyalayın, proje dosyasını kök olmayan bir kullanıcı “düğüm” e atayın ve ardından NPM yüklemesini çalıştırın

...
COPY package*.json ./
USER node
RUN npm install

Uygulama kodunuzu uygun izinlerle kapsayıcıdaki uygulama dizinine kopyalayın

...
COPY --chown=node:node . .

Bağlantı noktasını ortaya çıkarmak için komutu ortaya çıkarın:

...
EXPOSE 3000
CMD [ "node", "app.js" ]

DockerFile’ın son sürümü şöyle görünmelidir:

FROM node:12-alpine
RUN mkdir -p /home/node/app/node_modules && chown -R node:node /home/node/app
WORKDIR /home/node/app
COPY package*.json ./
USER node
RUN npm install
COPY --chown=node:node . .
EXPOSE 3000
CMD [ "node", "app.js" ]

Görüntü oluşturun ve kap çalıştırın

Docker resminizi oluşturmak için aşağıdaki komutu çalıştırın

docker build -t <<image_name>> .

Bu, Docker Images komutunu kullanarak kontrol edebileceğiniz bir docker image oluşturur. Artık aşağıdaki komutu kullanarak bu görüntüle bir kap oluşturmak mümkündür:

docker run — name <<container_name>> -p 3000:3000 -d <<image_name>>

Bu, Docker PS komutunu çalıştırarak doğrulayabileceğiniz konteyneri başlatır. Şimdi http: // localhost: 3000’e erişerseniz tarayıcınızda node.js uygulamanızın çalıştığını göreceksiniz. Ancak bu sefer şimdi Docker konteynerinizden çalışıyor.

Çözüm

Docker konteyneri ile geliştirme çok basit ve kolaydır. Docker, geliştiricilerin uygulamaları kaplama olarak paketlemelerine ve çalıştırmasına yardımcı olur. Bu öğreticide Ubuntu’da Docker Container kullanarak bir Node.js uygulamasının nasıl oluşturulacağını öğrendik. Yaklaşan makalelerde Docker’ın daha fazla kullanımı hakkında yazacağız ve ayrıca diğer araçları tartışacağız.

Keşfetmek