Implementeer een Node.js-applicatie met Docker

Dit artikel laat zien hoe u uw Node-toepassing kunt implementeren in een Docker-container.

Opmerking: in deze zelfstudie wordt ervan uitgegaan dat Docker is geïnstalleerd en klaar is voor gebruik.

Stap 1: Maak uw Node-applicatie

Maak een directory aan met de naam src. We zullen die map gebruiken. Maak een bestand src/package.jsonmet de naam dat het volgende bevat:

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

Maak nu een src/index.jsmet het volgende:

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

Weet alsjeblieft dat je de poort kunt veranderen 8080naar wat je maar wilt, maar voor dit voorbeeld zullen we deze poort blootstellen voor gebruik voor onze applicatie. Nadat u deze twee bestanden heeft gemaakt, kunt u doorgaan naar de volgende stap.

Stap 2: Maak een Dockerfile

Met een "Dockerfile" kunt u Docker-images bouwen en implementeren op basis van de instructies die u erin hebt gegeven. Maak een bestand met de naam Dockerfileen vul het met de volgende inhoud:

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

Uitleg:

FROM centos:latest

Dit gebruikt een afbeelding genaamd centos. Als er geen afbeelding beschikbaar is op uw host, haalt Docker er een uit de repository.

MAINTAINER Name Here <username@localhost>

Met deze instructie kunt u de auteur instellen voor de afbeelding die wordt gemaakt.

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" zal de gegeven shell-commando's uitvoeren. In dit voorbeeld zal het de epel-release rpm downloaden en installeren en nodejs en npm installeren vanuit de repository. Na de volgende bewerking wordt het in de projectmap gezet en uitgevoerd npm installom afhankelijkheden voor uw toepassing te installeren.

COPY ./src /opt/src

Kopieer de directory (en bestanden) van de host naar de container.

EXPOSE 8080

Open poort 8080 voor gebruik door de buitenwereld.

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

CMD biedt standaard uitvoering voor de container.

Nadat u het bestand precies hebt gemaakt zoals hierboven weergegeven, kunt u doorgaan naar de volgende stap.

Stap 3: Bouw een afbeelding

Voer de volgende opdracht uit om uw afbeelding te bouwen:

docker build -t name/application .

Hierdoor wordt een afbeelding gemaakt met de opslagplaatsnaam name/application. Als er geen fouten zijn, kunt u doorgaan naar de volgende stap.

Stap 4: Implementeer en test de applicatie

Nu alles is ingesteld, kunt u uw afbeelding uitvoeren door het volgende uit te voeren:

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

Voer de volgende opdracht uit vanaf de host om uw toepassing te testen:

curl http://172.17.42.1:49160/ 

Als u ziet, Hello from Dockerheeft u uw Docker-image met succes geïmplementeerd. Als u dit met uw browser wilt testen, bezoek dan http://[SERVER_IP]:49160vanuit uw browser (vervang het IP-adres dienovereenkomstig) en u zult hetzelfde bericht zien.



Leave a Comment

Installeer Rancher Server op RancherOS

Installeer Rancher Server op RancherOS

Overzicht RancherOS is een ongelooflijk lichtgewicht besturingssysteem (slechts ongeveer 60 MB) dat een systeem Docker-daemon draait als PID 0 voor het uitvoeren van systeemservices

Harbor installeren op CentOS 7

Harbor installeren op CentOS 7

Harbor is een open-source registerserver van ondernemingsklasse die Docker-images opslaat en distribueert. Harbor breidt de open source Docker Distribution uit b

Docker installeren op Ubuntu 14.04

Docker installeren op Ubuntu 14.04

Gebruikt u een ander systeem? Docker is een applicatie waarmee programmas kunnen worden geïmplementeerd die als containers worden uitgevoerd. Het is geschreven in het populaire Go-programma

Installeer Rancher op Ubuntu 16.04

Installeer Rancher op Ubuntu 16.04

Gebruikt u een ander systeem? Introductie Rancher is een open source platform voor het draaien van containers en het bouwen van een eigen containerservice. Rancher is basis

Implementeer Kubernetes met Kubeadm op CentOS 7

Implementeer Kubernetes met Kubeadm op CentOS 7

Overzicht Dit artikel is bedoeld om u te helpen in een mum van tijd een Kubernetes-cluster aan de praat te krijgen met kubeadm. In deze handleiding worden twee servers geïmplementeerd

Docker-compose installeren op CoreOS

Docker-compose installeren op CoreOS

In dit artikel wordt uitgelegd hoe u docker-compose installeert op CoreOS. In CoreOS is de map / usr / onveranderlijk, dus het standaard / usr / local / bin-pad is niet beschikbaar voor

Implementeer en beheer LXC-containers veilig op Ubuntu 14.04

Implementeer en beheer LXC-containers veilig op Ubuntu 14.04

LXC-containers (Linux-containers) zijn een besturingssysteemfunctie in Linux die kan worden gebruikt om meerdere geïsoleerde Linux-systemen op één host uit te voeren. Thes

Installeer Docker CE op Ubuntu 18.04

Installeer Docker CE op Ubuntu 18.04

Inleiding Docker is een applicatie waarmee we programmas kunnen implementeren die als containers worden uitgevoerd. Het is geschreven in de populaire programmeertaal Go

Docker installeren op CentOS 7

Docker installeren op CentOS 7

Gebruikt u een ander systeem? Docker is een applicatie waarmee software kan worden geïmplementeerd in virtuele containers. Het is geschreven in het Go-programma

Aan de slag met Kubernetes op CentOS 7

Aan de slag met Kubernetes op CentOS 7

Kubernetes is een open-sourceplatform dat is ontwikkeld door Google voor het beheren van container-apps op een cluster van servers. Het bouwt voort op een decennium en

Stel Sentry in via Docker op Ubuntu 16.04

Stel Sentry in via Docker op Ubuntu 16.04

Gebruikt u een ander systeem? Introductie Sentry is een open source-oplossing voor het volgen van fouten. Sentry houdt uitzonderingen en andere nuttige berichten bij

Sticky Session With Docker Swarm (CE) op Debian 9

Sticky Session With Docker Swarm (CE) op Debian 9

Gebruikt u een ander systeem? Inleiding Docker Swarm verandert uw individuele servers in een cluster van computers; het vergemakkelijken van schaalvergroting, hoge beschikbaarheid en

Hoe Docker te gebruiken: uw eerste Docker-container maken

Hoe Docker te gebruiken: uw eerste Docker-container maken

Deze tutorial legt de basisprincipes van het starten met Docker uit. Ik neem aan dat Docker al is geïnstalleerd. Stappen in deze tutorial werken op een

Load Balance met Docker

Load Balance met Docker

Wanneer u een webtoepassing uitvoert, wilt u normaal gesproken het meeste uit uw bronnen halen zonder dat u uw software hoeft te converteren om multithreading o te gebruiken

Docker CE installeren op CentOS 7

Docker CE installeren op CentOS 7

Dankzij Docker-containertechnologie kunt u applicaties uitvoeren in een specifieke en geïsoleerde omgeving. Docker Community Edition (CE) is de nieuwe naam voor de fre

Maak een Docker Swarm op Alpine Linux 3.9.0

Maak een Docker Swarm op Alpine Linux 3.9.0

Inleiding In deze handleiding wordt uitgelegd hoe u een Docker-zwerm maakt en configureert met behulp van meerdere Alpine Linux 3.9.0-servers en Portainer. Houd er rekening mee dat

Stel op CoreOS uw eigen Docker-register in

Stel op CoreOS uw eigen Docker-register in

We kennen en houden allemaal van Docker, een platform voor het maken, beheren en distribueren van applicatiecontainers over meerdere machines. Docker Inc. biedt een service t

Ga aan de slag met SQL Server 2017 (MS-SQL) op CentOS 7 met Docker

Ga aan de slag met SQL Server 2017 (MS-SQL) op CentOS 7 met Docker

Vereisten Docker-engine 1.8+. Minimaal 4 GB schijfruimte. Minimaal 4 GB RAM. Stap 1. Docker installeren Om SQL-Server te installeren, Docker mus

Docker CE installeren op Debian 9

Docker CE installeren op Debian 9

Gebruikt u een ander systeem? Inleiding Docker is een applicatie waarmee software kan worden geïmplementeerd in virtuele containers. Het stond in de G

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.