Distribuer en Node.js-applikasjon ved hjelp av Docker

Denne artikkelen vil vise deg hvordan du distribuerer Node-applikasjonen din i en Docker-beholder.

Merk: Denne opplæringen forutsetter at du har Docker installert og klar til bruk.

Trinn 1: Lag din Node-applikasjon

Opprett en katalog kalt src. Vi kommer til å bruke den katalogen. Lag en fil med navnet som src/package.jsoninneholder følgende:

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

Lag nå en som src/index.jsinneholder følgende:

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');

Vær oppmerksom på at du kan endre porten 8080til hva du ønsker, men for dette eksempelet vil vi utsette denne porten for bruk for applikasjonen vår. Når du har opprettet disse to filene, kan du fortsette til neste trinn.

Trinn 2: Lag en Dockerfile

En "Dockerfile" lar deg bygge og distribuere Docker-bilder basert på settet med instruksjoner du har gitt i den. Opprett en fil med navn Dockerfileog fyll den med følgende innhold:

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"]

Forklaring:

FROM centos:latest

This will use an image called centos. If there is no image available on your host, Docker will pull one from its repository.

MAINTAINER Name Here <username@localhost>

This instruction allows you to set the author for the image being created.

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" will execute the shell commands given. In this example, it will download the epel-release rpm and install it, and install nodejs and npm from its repository. After the next operation, it will cd into the project directory and run npm install to install dependencies for your application.

COPY ./src /opt/src

Copy the directory (and files) from the host into the container.

EXPOSE 8080

Open port 8080 for the outside world to use.

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

CMD will provide default execution for the container.

Når du har opprettet filen nøyaktig slik den er vist ovenfor, kan du gå videre til neste trinn.

Trinn 3: Bygg bilde

For å bygge bildet ditt, kjør følgende kommando:

docker build -t name/application .

Dette vil lage et bilde med et depotnavn på name/application. Hvis det ikke er noen feil, kan du gå videre til neste trinn.

Trinn 4: Distribuer og test applikasjonen

Nå som alt er konfigurert, kan du kjøre bildet ditt ved å kjøre følgende:

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

For å teste applikasjonen din, kjør følgende kommando fra verten:

curl http://172.17.42.1:49160/ 

Hvis du ser, Hello from Dockerhar du implementert Docker-bildet ditt. Hvis du ønsker å teste dette med nettleseren din, besøk http://[SERVER_IP]:49160fra nettleseren din (erstatt IP-adressen tilsvarende), og du vil se den samme meldingen.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer