Docker Kullanarak Bir Node.js Uygulaması Dağıtma

Bu makalede, Düğüm uygulamanızı bir Docker kapsayıcısında nasıl dağıtacağınız gösterilecektir.

Not: Bu eğiticide Docker yüklü ve kullanıma hazır olduğu varsayılmaktadır.

1. Adım: Düğüm uygulamanızı oluşturun

Adlı bir dizin oluşturun src. Bu dizini kullanacağız. src/package.jsonAşağıdakileri içeren bir dosya oluşturun :

{
  "name": "hello_world",
  "private": true,
  "version": "0.0.1",
  "description": "Hello world Example",
  "author": "",
  "dependencies": {
        "express": "3.2.4"
   }
}

Şimdi src/index.jsaşağıdakileri içeren bir içerik oluşturun :

var express = require('express');
var app = express();
app.get('/', function (req, res) {
    res.send('Hello from Docker\n');
});

app.listen(8080);
console.log('Running on http://localhost:8080');

Bağlantı noktasını 8080istediğiniz herhangi bir şeyle değiştirebileceğinizi lütfen unutmayın , ancak bu örnek için bu bağlantı noktasını uygulamamız için kullanacağız. Bu iki dosyayı oluşturduktan sonra, bir sonraki adıma geçebilirsiniz.

2. Adım: Dockerfile dosyası oluşturun

"Dockerfile", Docker görüntülerini, içinde sağladığınız bir dizi talimatı temel alarak oluşturmanıza ve dağıtmanıza olanak tanır. Adlı bir dosya oluşturun Dockerfileve aşağıdaki içerikle doldurun:

FROM centos:latest
MAINTAINER Name Here <username@localhost>
RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y 
COPY ./src /opt/src
RUN cd /opt/src; npm install
EXPOSE 8080
CMD ["node", "/opt/src/index.js"]

Açıklama:

FROM centos:latest

Bu adlı bir resim kullanır centos. Ana makinenizde resim yoksa Docker, deposundan bir resim çeker.

MAINTAINER Name Here <username@localhost>

Bu talimat, yaratılan görüntünün yazarını ayarlamanızı sağlar.

RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y
…
RUN cd /opt/src; npm install

"RUN" verilen kabuk komutlarını yürütür. Bu örnekte, epel-release rpm'ini indirip kuracak ve deposundan nodejs ve npm'yi kuracaktır. Bir sonraki işlemden sonra proje dizinine cd ve npm installuygulamanız için bağımlılıkları yüklemek için çalışır .

COPY ./src /opt/src

Dizini (ve dosyaları) ana bilgisayardan konteynere kopyalayın.

EXPOSE 8080

Dış dünyanın kullanması için 8080 numaralı bağlantı noktasını açın.

CMD ["node", "/opt/src/index.js"]

CMD kapsayıcı için varsayılan yürütme sağlar.

Dosyayı tam olarak yukarıda gösterildiği gibi oluşturduktan sonra, bir sonraki adıma geçebilirsiniz.

3. Adım: Resim oluşturma

Görüntünüzü oluşturmak için aşağıdaki komutu çalıştırın:

docker build -t name/application .

Bu, depo adı olan bir görüntü oluşturur name/application. Hata yoksa, bir sonraki adıma geçebilirsiniz.

4. Adım: Uygulamayı dağıtın ve test edin

Artık her şey hazır, aşağıdakileri çalıştırarak resminizi çalıştırabilirsiniz:

docker run -p 49160:8080 -d name/application

Uygulamanızı test etmek için, ana bilgisayardan aşağıdaki komutu çalıştırın:

curl http://172.17.42.1:49160/ 

Görüyorsanız Hello from DockerDocker görüntünüzü başarıyla konuşlandırdınız. Bunu tarayıcınızla test etmek istiyorsanız, tarayıcınızdan ziyaret edin http://[SERVER_IP]:49160(IP adresini buna göre değiştirin) ve aynı mesajı göreceksiniz.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.