Разгръщане на приложение Node.js с помощта на Docker

Разгръщане на приложение Node.js с помощта на Docker

Тази статия ще ви покаже как да разположите вашето приложение Node в Docker контейнер.

Забележка: Този урок предполага, че имате инсталиран Docker и готов за използване.

Стъпка 1: Създайте своето приложение Node

Създайте директория, наречена src. Ще използваме тази директория. Създайте файл с име, src/package.jsonсъдържащ следното:

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

Сега създайте файл, src/index.jsсъдържащ следното:

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

Моля, имайте предвид, че можете да промените порта 8080на всичко, което желаете, но за този пример ще изложим този порт за използване за нашето приложение. След като създадете тези два файла, можете да продължите към следващата стъпка.

Стъпка 2: Създайте Dockerfile

„Dockerfile“ ви позволява да създавате и разгръщате изображения на Docker въз основа на набора от инструкции, които сте предоставили в него. Създайте файл с име Dockerfileи го попълнете със следното съдържание:

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

Обяснение:

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.

След като създадете файла точно както е показан по-горе, можете да продължите към следващата стъпка.

Стъпка 3: Изградете изображение

За да създадете вашето изображение, изпълнете следната команда:

docker build -t name/application .

Това ще създаде изображение с име на хранилище name/application. Ако няма грешки, можете да продължите към следващата стъпка.

Стъпка 4: Разгръщане и тестване на приложението

Сега, когато всичко е настроено, можете да стартирате вашето изображение, като изпълните следното:

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

За да тествате приложението си, изпълнете следната команда от хоста:

curl http://172.17.42.1:49160/ 

Ако виждате, Hello from Dockerзначи успешно сте разположили вашето Docker изображение. Ако искате да тествате това с вашия браузър, посетете http://[SERVER_IP]:49160от браузъра си (заменете съответно IP адреса) и ще видите същото съобщение.


Ето как да проверите Hyper-V контейнерите в Windows 10 Insider

Ето как да проверите Hyper-V контейнерите в Windows 10 Insider

Microsoft обясни в нова публикация в блога как Windows Insiders могат да тестват Hyper-V контейнери на Windows 10, ново решение за виртуализация, което позволява на приложенията да работят, без да засягат останалата част от вашата операционна система.

Как да инсталирате Harbor на CentOS 7

Как да инсталирате Harbor на CentOS 7

Harbor е регистър на сървър от корпоративен клас с отворен код, който съхранява и разпространява изображения на Docker. Harbour разширява Docker Distribution с отворен код b

Инсталирайте Rancher OS чрез iPXE

Инсталирайте Rancher OS чрез iPXE

Rancher OS е много лека Linux дистрибуция, изградена около Docker. Самата ОС тежи около 20MB. Този урок ще ви накара да работите с него

На CoreOS настройте свой собствен регистър на Docker

На CoreOS настройте свой собствен регистър на Docker

Всички познаваме и обичаме Docker, платформа за създаване, управление и разпространение на контейнери за приложения на множество машини. Docker Inc. предоставя услуга t

Инсталиране на docker-compose на CoreOS

Инсталиране на docker-compose на CoreOS

Тази статия обяснява как да инсталирате docker-compose на CoreOS. В CoreOS папката /usr/ е неизменна, така че стандартният път /usr/local/bin е недостъпен за

Инсталирайте Rancher на CentOS 7

Инсталирайте Rancher на CentOS 7

Използване на различна система? Въведение Rancher е платформа с отворен код за управление на контейнери и изграждане на частна услуга за контейнери. Rancher е база

Инсталирайте Docker CE на Ubuntu 18.04

Инсталирайте Docker CE на Ubuntu 18.04

Въведение Docker е приложение, което ни позволява да разгръщаме програми, които се изпълняват като контейнери. Той е написан на популярния език за програмиране Go

Създайте Docker Swarm на Alpine Linux 3.9.0

Създайте Docker Swarm на Alpine Linux 3.9.0

Въведение Това ръководство ще ви покаже как да създадете и конфигурирате Docker рояк, използвайки множество Alpine Linux 3.9.0 сървъри и Portainer. Моля, имайте предвид, че

Разгръщане на PHP приложение с помощта на Docker-compose

Разгръщане на PHP приложение с помощта на Docker-compose

PHP приложенията обикновено се съставят от уеб сървър, система за релационна база данни и самия езиков интерпретатор. В този урок ще бъдем лостове

Баланс на натоварването с Docker

Баланс на натоварването с Docker

Когато изпълнявате уеб приложение, обикновено искате да извлечете максимума от ресурсите си, без да се налага да конвертирате софтуера си за използване на многонишков

Разгръщане на приложение Node.js с помощта на Docker

Разгръщане на приложение Node.js с помощта на Docker

Тази статия ще ви покаже как да разположите вашето приложение Node в Docker контейнер. Забележка: Този урок предполага, че имате инсталиран и прочетен Docker

Инсталиране на Docker CE на CentOS 7

Инсталиране на Docker CE на CentOS 7

Docker контейнерната технология ви позволява да стартирате приложения в специфична и изолирана среда. Docker Community Edition (CE) е новото име за fre

Внедряване на Kubernetes с Kubeadm на CentOS 7

Внедряване на Kubernetes с Kubeadm на CentOS 7

Общ преглед Тази статия има за цел да ви помогне да стартирате и стартирате Kubernetes клъстер с kubeadm за нула време. Това ръководство ще разгръща два сървъра на

Инсталиране на Docker на CentOS 7

Инсталиране на Docker на CentOS 7

Използване на разл��чна система? Docker е приложение, което позволява внедряване на софтуер във виртуални контейнери. Написано е в програмата Go

Инсталиране на Docker CE на Debian 9

Инсталиране на Docker CE на Debian 9

Използване на различна система? Въведение Docker е приложение, което позволява внедряване на софтуер във виртуални контейнери. Беше написано в Г

Започнете със SQL Server 2017 (MS-SQL) на CentOS 7 с Docker

Започнете със SQL Server 2017 (MS-SQL) на CentOS 7 с Docker

Предпоставки Docker engine 1.8+. Минимум 4GB дисково пространство. Минимум 4GB RAM. Стъпка 1. Инсталирайте Docker За да инсталирате SQL-Server, Docker трябва

Залепваща сесия с Docker Swarm (CE) на Debian 9

Залепваща сесия с Docker Swarm (CE) на Debian 9

Използване на различна система? Въведение Docker Swarm превръща вашите отделни сървъри в клъстер от компютри; улесняване на мащабирането, висока достъпност

Два инструмента за графично управление на Docker: DockerUI и корабостроителница

Два инструмента за графично управление на Docker: DockerUI и корабостроителница

С помощта на приложението Vultr Docker можете лесно да разположите Docker на вашия сървър на Vultr. Междувременно можете да улесните задачата за управление на Docker

Инсталирайте Rancher Server на RancherOS

Инсталирайте Rancher Server на RancherOS

Общ преглед RancherOS е невероятно лека операционна система (само около 60 MB), която изпълнява системен Docker демон като PID 0 за стартиране на системни услуги

Първи стъпки с Kubernetes на CentOS 7

Първи стъпки с Kubernetes на CentOS 7

Kubernetes е платформа с отворен код, разработена от Google за управление на контейнерни приложения в клъстер от сървъри. Тя се основава на едно десетилетие и

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече