Distribuer en Node.js-applikasjon ved hjelp av Docker

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.


Slik sjekker du Hyper-V-beholdere på Windows 10 Insider

Slik sjekker du Hyper-V-beholdere på Windows 10 Insider

Microsoft har forklart i et nytt blogginnlegg hvordan Windows Insiders kan teste Hyper-V-beholdere på Windows 10, en ny virtualiseringsløsning som lar applikasjoner kjøre uten å påvirke resten av operativsystemet ditt.

Installer Rancher OS via iPXE

Installer Rancher OS via iPXE

Rancher OS er en veldig lett Linux-distribusjon bygget rundt Docker. Selve operativsystemet veier rundt 20 MB. Denne opplæringen vil få deg i gang med

På CoreOS, konfigurer ditt eget Docker-register

På CoreOS, konfigurer ditt eget Docker-register

Vi kjenner og elsker alle Docker, en plattform for å lage, administrere og distribuere applikasjonsbeholdere på tvers av flere maskiner. Docker Inc. tilbyr en tjeneste t

Installerer docker-compose på CoreOS

Installerer docker-compose på CoreOS

Denne artikkelen forklarer hvordan du installerer docker-compose på CoreOS. I CoreOS er /usr/-mappen uforanderlig, så standard /usr/local/bin-banen er utilgjengelig for

Installer Docker CE på Ubuntu 18.04

Installer Docker CE på Ubuntu 18.04

Innledning Docker er en applikasjon som lar oss distribuere programmer som kjøres som containere. Den ble skrevet på det populære programmeringsspråket Go

Lag en Docker Swarm på Alpine Linux 3.9.0

Lag en Docker Swarm på Alpine Linux 3.9.0

Introduksjon Denne guiden viser deg hvordan du oppretter og konfigurerer en Docker-sverm ved å bruke flere Alpine Linux 3.9.0-servere og Portainer. Vær oppmerksom på det

Distribuer en PHP-applikasjon ved å bruke Docker-compose

Distribuer en PHP-applikasjon ved å bruke Docker-compose

PHP-applikasjoner er vanligvis sammensatt av en webserver, et relasjonsdatabasesystem og selve språktolken. I denne opplæringen vil vi være leveragin

Lastbalanse med Docker

Lastbalanse med Docker

Når du kjører en nettapplikasjon, vil du vanligvis få mest mulig ut av ressursene dine uten å måtte konvertere programvaren til å bruke multithreading o

Distribuer en Node.js-applikasjon ved hjelp av Docker

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 lest

Distribuer Kubernetes med Kubeadm på CentOS 7

Distribuer Kubernetes med Kubeadm på CentOS 7

Oversikt Denne artikkelen er ment å hjelpe deg med å få en Kubernetes-klynge i gang med kubeadm på kort tid. Denne veiledningen vil distribuere to servere på

Installere Docker CE på Debian 9

Installere Docker CE på Debian 9

Bruker du et annet system? Introduksjon Docker er en applikasjon som tillater distribusjon av programvare i virtuelle containere. Det ble skrevet i G

Kom i gang med SQL Server 2017 (MS-SQL) på CentOS 7 med Docker

Kom i gang med SQL Server 2017 (MS-SQL) på CentOS 7 med Docker

Forutsetninger Docker-motor 1.8+. Minimum 4 GB diskplass. Minimum 4 GB RAM. Trinn 1. Installer Docker For å installere SQL-Server må Docker mus

Sticky Session With Docker Swarm (CE) på Debian 9

Sticky Session With Docker Swarm (CE) på Debian 9

Bruker du et annet system? Innledning Docker Swarm gjør dine individuelle servere til en klynge av datamaskiner; lette skalering, høy tilgjengelighet og

Installer Rancher Server på RancherOS

Installer Rancher Server på RancherOS

Oversikt RancherOS er et utrolig lett operativsystem (bare ca. 60 MB) som kjører en system Docker-demon som PID 0 for å kjøre systemtjenester

Installer Rancher på Ubuntu 16.04

Installer Rancher på Ubuntu 16.04

Bruker du et annet system? Introduksjon Rancher er en åpen kildekode-plattform for å kjøre containere og bygge en privat containertjeneste. Rancher er base

Sett opp Sentry via Docker på Ubuntu 16.04

Sett opp Sentry via Docker på Ubuntu 16.04

Bruker du et annet system? Innledning Sentry er en åpen kildekode-løsning for feilsporing. Sentry sporer unntak og andre nyttige meldinger

Slik bruker du Docker: Opprett din første Docker-beholder

Slik bruker du Docker: Opprett din første Docker-beholder

Denne opplæringen forklarer det grunnleggende for å komme i gang med Docker. Jeg antar at du allerede har Docker installert. Trinnene i denne opplæringen vil fungere på en

Installere Docker på Ubuntu 14.04

Installere Docker på Ubuntu 14.04

Bruker du et annet system? Docker er en applikasjon som gjør det mulig å distribuere programmer som kjøres som containere. Det ble skrevet i det populære Go-programmet

Sikker distribusjon og administrering av LXC-beholdere på Ubuntu 14.04

Sikker distribusjon og administrering av LXC-beholdere på Ubuntu 14.04

LXC-beholdere (Linux-beholdere) er en operativsystemfunksjon i Linux som kan brukes til å kjøre flere isolerte Linux-systemer på en enkelt vert. Thes

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.

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.

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.

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