From aa1a433e0b58aaa2786eac5f720b333f3cd58532 Mon Sep 17 00:00:00 2001 From: Artyom Popov Date: Fri, 1 Nov 2019 17:02:03 +0200 Subject: [PATCH 1/3] [ru] translation of dockerizing node.js app guide --- locale/ru/docs/guides/index.md | 2 +- locale/ru/docs/guides/nodejs-docker-webapp.md | 278 ++++++++++++++++++ 2 files changed, 279 insertions(+), 1 deletion(-) create mode 100644 locale/ru/docs/guides/nodejs-docker-webapp.md diff --git a/locale/ru/docs/guides/index.md b/locale/ru/docs/guides/index.md index ec32dc89a561f..c6aaf1a366754 100644 --- a/locale/ru/docs/guides/index.md +++ b/locale/ru/docs/guides/index.md @@ -11,7 +11,7 @@ layout: docs.hbs * [Debugging - Getting Started](/ru/docs/guides/debugging-getting-started/) * [Easy profiling for Node.js Applications](/ru/docs/guides/simple-profiling/) * [Diagnostics - Flame Graphs](/en/docs/guides/diagnostics-flamegraph/) -* [Dockerizing a Node.js web app](/en/docs/guides/nodejs-docker-webapp/) +* [Докеризация веб-приложения node.js](/ru/docs/guides/nodejs-docker-webapp/) * [Migrating to safe Buffer constructors](/en/docs/guides/buffer-constructor-deprecation/) ## Ключевые концепции Node.js diff --git a/locale/ru/docs/guides/nodejs-docker-webapp.md b/locale/ru/docs/guides/nodejs-docker-webapp.md new file mode 100644 index 0000000000000..074d5134ba573 --- /dev/null +++ b/locale/ru/docs/guides/nodejs-docker-webapp.md @@ -0,0 +1,278 @@ +--- +title: Докеризация веб-приложения node.js +layout: docs.hbs +--- + +# Докеризация веб-приложения node.js + +Цель этого примера — показать, как поместить приложение node.js в docker-контейнер. +Это руководство предназначено для разработки, но не для прямого использования в +продакшене. Мы также предполагаем, что Вы успешно установили docker на свой ПК и +имеете базовое представление того, как структурировано приложение node.js. + +В перовой части руководства мы создадим простое node.js приложение, затем +мы создадим для него docker образ, и, наконец, мы создадим экземпляр контейнера +из этого образа. + +Docker позволяет Вам упаковать приложение вместе с его окружением и всеми зависимостями в +"коробку", называемую контейнером. Обычно контейнер состоит из приложения, работающего в +упрощенной версии ОС Linux. Образ — это шаблон для контейнера, контейнер — это работающий +экземпляр образа. + +## Создание приложения node.js + +Для начала создадим новую директорию, в которой будут находиться все файлы приложения. В этой директории +создайте файл `package.json`, в котором описано приложение и его зависимости: + +```json +{ + "name": "docker_web_app", + "version": "1.0.0", + "description": "node.js on docker", + "author": "first last ", + "main": "server.js", + "scripts": { + "start": "node server.js" + }, + "dependencies": { + "express": "^4.16.1" + } +} +``` + +После создания файла `package.json`, выполните команду `npm install`. Если вы используете `npm` +версии 5 или выше, это также создаст файл `package-lock.json`, который будет скопирован в Ваш docker-образ. + +Далее создайте файл `server.js` который обозначает веб-приложение с использованием +фреймворка [express.js](https://expressjs.com/): + +```javascript +'use strict'; + +const express = require('express'); + +// константы +const port = 8080; +const host = '0.0.0.0'; + +// приложение +const app = express(); +app.get('/', (req, res) => { + res.send('hello world\n'); +}); + +app.listen(port, host); +console.log(`running on http://${host}:${port}`); +``` + +Далее мы рассмотрим, как вы можете запускать это приложение внутри docker-контейнера, +используя официальный образ docker. Сперва давайте создадим docker-образ с нашим приложением. + +## Создание файла Dockerfile + +Создайте пустой файл с именем `Dockerfile`: + +```markup +touch Dockerfile +``` + +Откройте этот файл в Вашем любимом текстовом редакторе. + +Первое, что нам надо сделать — определить базовый образ, +который мы возьмем за основу. Мы используем образ `node` последней версии +LTS* (версии с долгосрочной поддержкой) — `10`, +доступный на [docker hub](https://hub.docker.com/). + +\* Прим. переводчика: на момент написания статьи. + +```docker +FROM node:10 +``` + +Затем создадим директорию, в которой будет содержаться код приложения внутри образа. +Это будет рабочая директория для Вашего приложения. + +```docker +# создание директории приложения +WORKDIR /usr/src/app +``` + +Образ, который мы используем, поставляется с уже предустановленным node.js и npm. +Поэтому мы можем просто установить зависимости приложения с помощью команд `npm`. +Обратите внимание, если Вы используете `npm` 4 или ниже, файл `package-lock.json` +не будет сгенерирован. + +```docker +# установка зависимостей +# символ астериск «*» используется для того чтобы по возможности +# скопировать оба файла: package.json и package-lock.json +COPY package*.json ./ + +RUN npm install +# Если вы создаете сборку для продакшн +# RUN npm ci --only=production +``` + +Обратите внимание, что вместо того, чтобы копировать весь рабочий каталог, +мы копируем только файл `package.json`. Это позволяет воспользоваться +кэшированием слоев в docker. По [этой](http://bitjudo.com/blog/2014/03/13/building-efficient-dockerfiles-node-dot-js/) +ссылке есть хорошее объяснение того, как это работает. Более того, +команда `npm ci`, указанная в комментарии, позволяет создавать +более быстрые, надежные, воспроизводимые сборки для продакшена. +Вы можете прочесть больше об этой команде [здесь](https://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable). + +Чтобы отправить исходный код Вашего приложения внутрь docker-образа, +используйте директиву `copy`. + +```docker +# копируем исходный код +COPY . . +``` + +Наш сервер запускается на порту `8080`, поэтому мы будем использовать +инструкцию `expose`, чтобы проинформировать Docker о том, что в контейнере +имеется приложение, прослушивающее этот порт. + +```docker +EXPOSE 8080 +``` + +Последняя, тем не менее важная команда `cmd` содержит все необходимые +переменные среды и инструкции для запуска приложения. +Здесь мы просто используем `node server.js` для запуска. + +```docker +CMD [ "node", "server.js" ] +``` + +Ваш `Dockerfile` теперь должен выглядеть примерно так: + +```docker +FROM node:10 + +# создание директории приложения +WORKDIR /usr/src/app + +# установка зависимостей +# символ астериск «*» используется для того чтобы по возможности +# скопировать оба файла: package.json и package-lock.json +COPY package*.json ./ + +RUN npm install +# Если вы создаете сборку для продакшн +# RUN npm ci --only=production + +# копируем исходный код +COPY . . + +EXPOSE 8080 +CMD [ "node", "server.js" ] +``` + +## Файл .dockerignore + +Создайте файл `.dockerignore` в той же директории, что и `Dockerfile`, +со следующим содержимым: + +``` +node_modules +npm-debug.log +``` + +Это предотвратит копирование локально установленных модулей и дебаг-логов +в docker-образ и возможную перезапись модулей установленных внутри образа. + +## Сборка образа + +Перейдите в директорию, в которой находится Ваш `Dockerfile` и запустите +следующую команду, чтобы собрать образ docker. Флаг `-t` позволяет поставить +тэг к Вашему образу, чтобы его позже было проще найти при помощи команды +`docker images`: + +```bash +docker build -t /node-web-app . +``` + +Созданный образ теперь будет отображаться в списке всех образов: + +```bash +$ docker images + +# пример вывода +repository tag id created +node 10 1934b0b038d1 5 days ago +/node-web-app latest d64d3505b0d2 1 minute ago +``` + +## Запуск образа + +Запуск образа с флагом `-d` позволяет контейнеру работать в фоновом режиме. +Флаг `-p` перенаправляет публичный порт на приватный порт внутри контейнера. +Запустите образ, который Вы ранее создали: + +```bash +docker run -p 49160:8080 -d /node-web-app +``` + +Отобразите вывод вашего приложения: + +```bash +# отобразить все контейнеры, чтобы получить id нужного нам +$ docker ps + +# отобразить логи вывода +$ docker logs + +# пример вывода +running on http://localhost:8080 +``` + +Если Вам нужно попасть внутрь контейнера, используйте команду `exec`: + +```bash +# войти в контейнер в интерактивном режиме +$ docker exec -it /bin/bash +``` + +## Проверка + +Чтобы проверить Ваше приложение, используйте публичный порт, к которому привязан контейнер: + +```bash +$ docker ps + +# пример вывода +id image command ... ports +ecce33b30ebf /node-web-app:latest npm start ... 49160->8080 +``` + +В примере выше docker связал порт `8080` внутри контейнера с портом `49160` +на Вашем компьютере. + +Вы можете сделать запрос к Вашему приложению с помощью утилиты `curl` +(установите ее, если требуется с помощью команды: `sudo apt-get install curl`): + +```bash +$ curl -i localhost:49160 + +http/1.1 200 ok +x-powered-by: express +content-type: text/html; charset=utf-8 +content-length: 12 +etag: w/"c-m6twob/y57lesdjquheb1p/qtv0" +date: mon, 13 nov 2017 20:53:59 gmt +connection: keep-alive + +hello world +``` + +Надеемся, что эта инструкция помогла Вам настроить и запустить простое приложение +node.js с помощью docker. + +Вы можете найти больше информации о docker и node.js в docker по следующим ссылкам: + +* [Официальный docker-образ node.js](https://hub.docker.com/_/node/) +* [Руководство по лучшим практикам node.js docker](https://github.com/nodejs/docker-node/blob/master/docs/bestpractices.md) +* [Официальная документация docker](https://docs.docker.com/) +* [Тэг docker на stack overflow](https://stackoverflow.com/questions/tagged/docker) +* [Канал docker на reddit](https://reddit.com/r/docker) From 11d84b6211e36093073024b4d651eadcb7dfe241 Mon Sep 17 00:00:00 2001 From: Artyom Popov Date: Tue, 5 Nov 2019 10:30:13 +0200 Subject: [PATCH 2/3] Apply suggestions from code review Co-Authored-By: Alexandr Tovmach --- locale/ru/docs/guides/nodejs-docker-webapp.md | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/locale/ru/docs/guides/nodejs-docker-webapp.md b/locale/ru/docs/guides/nodejs-docker-webapp.md index 074d5134ba573..4493ea0573c53 100644 --- a/locale/ru/docs/guides/nodejs-docker-webapp.md +++ b/locale/ru/docs/guides/nodejs-docker-webapp.md @@ -1,25 +1,25 @@ --- -title: Докеризация веб-приложения node.js +title: Докеризация веб-приложения Node.js layout: docs.hbs --- -# Докеризация веб-приложения node.js +# Докеризация веб-приложения Node.js -Цель этого примера — показать, как поместить приложение node.js в docker-контейнер. +Цель этого примера — показать, как поместить приложение Node.js в Docker-контейнер. Это руководство предназначено для разработки, но не для прямого использования в -продакшене. Мы также предполагаем, что Вы успешно установили docker на свой ПК и -имеете базовое представление того, как структурировано приложение node.js. +продакшене. Мы также предполагаем, что вы успешно [установили Docker](https://docs.docker.com/install/) на свой ПК и +имеете базовое представление о структуре Node.js приложения. -В перовой части руководства мы создадим простое node.js приложение, затем -мы создадим для него docker образ, и, наконец, мы создадим экземпляр контейнера +В перовой части руководства мы создадим простое Node.js приложение, затем +мы сделаем для него docker-образ, и, наконец, инициализируем экземпляр контейнера из этого образа. -Docker позволяет Вам упаковать приложение вместе с его окружением и всеми зависимостями в +Docker позволяет вам упаковать приложение вместе с его окружением и всеми зависимостями в "коробку", называемую контейнером. Обычно контейнер состоит из приложения, работающего в упрощенной версии ОС Linux. Образ — это шаблон для контейнера, контейнер — это работающий экземпляр образа. -## Создание приложения node.js +## Создание приложения Node.js Для начала создадим новую директорию, в которой будут находиться все файлы приложения. В этой директории создайте файл `package.json`, в котором описано приложение и его зависимости: @@ -41,7 +41,7 @@ Docker позволяет Вам упаковать приложение вме ``` После создания файла `package.json`, выполните команду `npm install`. Если вы используете `npm` -версии 5 или выше, это также создаст файл `package-lock.json`, который будет скопирован в Ваш docker-образ. +версии 5 или выше, это также создаст файл `package-lock.json`, который будет скопирован в ваш docker-образ. Далее создайте файл `server.js` который обозначает веб-приложение с использованием фреймворка [express.js](https://expressjs.com/): @@ -76,7 +76,7 @@ console.log(`running on http://${host}:${port}`); touch Dockerfile ``` -Откройте этот файл в Вашем любимом текстовом редакторе. +Откройте этот файл в вашем любимом текстовом редакторе. Первое, что нам надо сделать — определить базовый образ, который мы возьмем за основу. Мы используем образ `node` последней версии @@ -90,7 +90,7 @@ FROM node:10 ``` Затем создадим директорию, в которой будет содержаться код приложения внутри образа. -Это будет рабочая директория для Вашего приложения. +Это будет рабочая директория для вашего приложения. ```docker # создание директории приложения @@ -99,7 +99,7 @@ WORKDIR /usr/src/app Образ, который мы используем, поставляется с уже предустановленным node.js и npm. Поэтому мы можем просто установить зависимости приложения с помощью команд `npm`. -Обратите внимание, если Вы используете `npm` 4 или ниже, файл `package-lock.json` +Обратите внимание, если вы используете `npm` 4 или ниже, файл `package-lock.json` не будет сгенерирован. ```docker @@ -119,9 +119,9 @@ RUN npm install ссылке есть хорошее объяснение того, как это работает. Более того, команда `npm ci`, указанная в комментарии, позволяет создавать более быстрые, надежные, воспроизводимые сборки для продакшена. -Вы можете прочесть больше об этой команде [здесь](https://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable). +вы можете прочесть больше об этой команде [здесь](https://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable). -Чтобы отправить исходный код Вашего приложения внутрь docker-образа, +Чтобы отправить исходный код вашего приложения внутрь docker-образа, используйте директиву `copy`. ```docker @@ -184,9 +184,9 @@ npm-debug.log ## Сборка образа -Перейдите в директорию, в которой находится Ваш `Dockerfile` и запустите +Перейдите в директорию, в которой находится ваш `Dockerfile` и запустите следующую команду, чтобы собрать образ docker. Флаг `-t` позволяет поставить -тэг к Вашему образу, чтобы его позже было проще найти при помощи команды +тэг к вашему образу, чтобы его позже было проще найти при помощи команды `docker images`: ```bash @@ -208,7 +208,7 @@ node 10 1934b0b038d1 5 days ago Запуск образа с флагом `-d` позволяет контейнеру работать в фоновом режиме. Флаг `-p` перенаправляет публичный порт на приватный порт внутри контейнера. -Запустите образ, который Вы ранее создали: +Запустите образ, который вы ранее создали: ```bash docker run -p 49160:8080 -d /node-web-app @@ -227,7 +227,7 @@ $ docker logs running on http://localhost:8080 ``` -Если Вам нужно попасть внутрь контейнера, используйте команду `exec`: +Если вам нужно попасть внутрь контейнера, используйте команду `exec`: ```bash # войти в контейнер в интерактивном режиме @@ -236,7 +236,7 @@ $ docker exec -it /bin/bash ## Проверка -Чтобы проверить Ваше приложение, используйте публичный порт, к которому привязан контейнер: +Чтобы проверить ваше приложение, используйте публичный порт, к которому привязан контейнер: ```bash $ docker ps @@ -247,9 +247,9 @@ ecce33b30ebf /node-web-app:latest npm start ... 49160->8080 ``` В примере выше docker связал порт `8080` внутри контейнера с портом `49160` -на Вашем компьютере. +на вашем компьютере. -Вы можете сделать запрос к Вашему приложению с помощью утилиты `curl` +Вы можете сделать запрос к вашему приложению с помощью утилиты `curl` (установите ее, если требуется с помощью команды: `sudo apt-get install curl`): ```bash @@ -266,13 +266,13 @@ connection: keep-alive hello world ``` -Надеемся, что эта инструкция помогла Вам настроить и запустить простое приложение -node.js с помощью docker. +Надеемся, что эта инструкция помогла вам настроить и запустить простое приложение +Node.js с помощью docker. -Вы можете найти больше информации о docker и node.js в docker по следующим ссылкам: +Вы можете найти больше информации о Docker и Node.js в docker по следующим ссылкам: -* [Официальный docker-образ node.js](https://hub.docker.com/_/node/) -* [Руководство по лучшим практикам node.js docker](https://github.com/nodejs/docker-node/blob/master/docs/bestpractices.md) -* [Официальная документация docker](https://docs.docker.com/) -* [Тэг docker на stack overflow](https://stackoverflow.com/questions/tagged/docker) -* [Канал docker на reddit](https://reddit.com/r/docker) +* [Официальный docker-образ Node.js](https://hub.docker.com/_/node/) +* [Руководство по лучшим практикам Node.js в Docker](https://github.com/nodejs/docker-node/blob/master/docs/bestpractices.md) +* [Официальная документация Docker](https://docs.docker.com/) +* [Тэг Docker на stack overflow](https://stackoverflow.com/questions/tagged/docker) +* [Канал Docker на reddit](https://reddit.com/r/docker) From d825a38fcf5d91111488e16f6afd2b258562541b Mon Sep 17 00:00:00 2001 From: Artyom Popov Date: Tue, 5 Nov 2019 11:58:09 +0200 Subject: [PATCH 3/3] Apply suggestions from code review Co-Authored-By: Alexandr Tovmach --- locale/ru/docs/guides/index.md | 2 +- locale/ru/docs/guides/nodejs-docker-webapp.md | 48 +++++++++---------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/locale/ru/docs/guides/index.md b/locale/ru/docs/guides/index.md index c6aaf1a366754..e022ca9783e81 100644 --- a/locale/ru/docs/guides/index.md +++ b/locale/ru/docs/guides/index.md @@ -11,7 +11,7 @@ layout: docs.hbs * [Debugging - Getting Started](/ru/docs/guides/debugging-getting-started/) * [Easy profiling for Node.js Applications](/ru/docs/guides/simple-profiling/) * [Diagnostics - Flame Graphs](/en/docs/guides/diagnostics-flamegraph/) -* [Докеризация веб-приложения node.js](/ru/docs/guides/nodejs-docker-webapp/) +* [Докеризация веб-приложения Node.js](/ru/docs/guides/nodejs-docker-webapp/) * [Migrating to safe Buffer constructors](/en/docs/guides/buffer-constructor-deprecation/) ## Ключевые концепции Node.js diff --git a/locale/ru/docs/guides/nodejs-docker-webapp.md b/locale/ru/docs/guides/nodejs-docker-webapp.md index 4493ea0573c53..cb954cc775da4 100644 --- a/locale/ru/docs/guides/nodejs-docker-webapp.md +++ b/locale/ru/docs/guides/nodejs-docker-webapp.md @@ -43,8 +43,8 @@ Docker позволяет вам упаковать приложение вме После создания файла `package.json`, выполните команду `npm install`. Если вы используете `npm` версии 5 или выше, это также создаст файл `package-lock.json`, который будет скопирован в ваш docker-образ. -Далее создайте файл `server.js` который обозначает веб-приложение с использованием -фреймворка [express.js](https://expressjs.com/): +Далее создайте файл `server.js`, который определяет веб-приложение на основе +фреймворка [Express.js](https://expressjs.com/): ```javascript 'use strict'; @@ -65,8 +65,8 @@ app.listen(port, host); console.log(`running on http://${host}:${port}`); ``` -Далее мы рассмотрим, как вы можете запускать это приложение внутри docker-контейнера, -используя официальный образ docker. Сперва давайте создадим docker-образ с нашим приложением. +Далее мы рассмотрим, как можно запускать это приложение внутри Docker-контейнера, +используя официальный образ Docker'а. Сначала давайте создадим Docker-образ с нашим приложением. ## Создание файла Dockerfile @@ -79,9 +79,9 @@ touch Dockerfile Откройте этот файл в вашем любимом текстовом редакторе. Первое, что нам надо сделать — определить базовый образ, -который мы возьмем за основу. Мы используем образ `node` последней версии +который будет взят за основу. Мы будем использовать образ `node` последней версии LTS* (версии с долгосрочной поддержкой) — `10`, -доступный на [docker hub](https://hub.docker.com/). +доступный на [Docker Hub](https://hub.docker.com/). \* Прим. переводчика: на момент написания статьи. @@ -89,22 +89,22 @@ LTS* (версии с долгосрочной поддержкой) — `10`, FROM node:10 ``` -Затем создадим директорию, в которой будет содержаться код приложения внутри образа. -Это будет рабочая директория для вашего приложения. +Затем создадим директорию для кода приложения внутри образа. +Это будет рабочая папка для вашего приложения. ```docker # создание директории приложения WORKDIR /usr/src/app ``` -Образ, который мы используем, поставляется с уже предустановленным node.js и npm. +Образ, который мы используем, поставляется с уже предустановленным Node.js и NPM. Поэтому мы можем просто установить зависимости приложения с помощью команд `npm`. Обратите внимание, если вы используете `npm` 4 или ниже, файл `package-lock.json` не будет сгенерирован. ```docker # установка зависимостей -# символ астериск «*» используется для того чтобы по возможности +# символ астериск ("*") используется для того чтобы по возможности # скопировать оба файла: package.json и package-lock.json COPY package*.json ./ @@ -115,29 +115,29 @@ RUN npm install Обратите внимание, что вместо того, чтобы копировать весь рабочий каталог, мы копируем только файл `package.json`. Это позволяет воспользоваться -кэшированием слоев в docker. По [этой](http://bitjudo.com/blog/2014/03/13/building-efficient-dockerfiles-node-dot-js/) -ссылке есть хорошее объяснение того, как это работает. Более того, +кэшированием слоев в Docker. [Здесь](http://bitjudo.com/blog/2014/03/13/building-efficient-dockerfiles-node-dot-js/) +bitJudo дал хорошее объяснение того, как это работает. Более того, команда `npm ci`, указанная в комментарии, позволяет создавать более быстрые, надежные, воспроизводимые сборки для продакшена. вы можете прочесть больше об этой команде [здесь](https://blog.npmjs.org/post/171556855892/introducing-npm-ci-for-faster-more-reliable). -Чтобы отправить исходный код вашего приложения внутрь docker-образа, -используйте директиву `copy`. +Чтобы отправить исходный код вашего приложения внутрь Docker-образа, +используйте директиву `COPY`. ```docker # копируем исходный код COPY . . ``` -Наш сервер запускается на порту `8080`, поэтому мы будем использовать -инструкцию `expose`, чтобы проинформировать Docker о том, что в контейнере +Сервер привязан к `8080` порту, поэтому мы будем использовать +инструкцию `EXPOSE`, чтобы проинформировать Docker о том, что в контейнере имеется приложение, прослушивающее этот порт. ```docker EXPOSE 8080 ``` -Последняя, тем не менее важная команда `cmd` содержит все необходимые +Последняя, но не менее важная команда `CMD` содержит все необходимые переменные среды и инструкции для запуска приложения. Здесь мы просто используем `node server.js` для запуска. @@ -154,7 +154,7 @@ FROM node:10 WORKDIR /usr/src/app # установка зависимостей -# символ астериск «*» используется для того чтобы по возможности +# символ астериск ("*") используется для того чтобы по возможности # скопировать оба файла: package.json и package-lock.json COPY package*.json ./ @@ -180,12 +180,12 @@ npm-debug.log ``` Это предотвратит копирование локально установленных модулей и дебаг-логов -в docker-образ и возможную перезапись модулей установленных внутри образа. +в Docker-образ и возможную перезапись модулей установленных внутри образа. ## Сборка образа Перейдите в директорию, в которой находится ваш `Dockerfile` и запустите -следующую команду, чтобы собрать образ docker. Флаг `-t` позволяет поставить +следующую команду, чтобы собрать Docker-образ. Флаг `-t` позволяет поставить тэг к вашему образу, чтобы его позже было проще найти при помощи команды `docker images`: @@ -214,16 +214,16 @@ node 10 1934b0b038d1 5 days ago docker run -p 49160:8080 -d /node-web-app ``` -Отобразите вывод вашего приложения: +Отобразите логи вашего приложения: ```bash # отобразить все контейнеры, чтобы получить id нужного нам $ docker ps -# отобразить логи вывода +# отобразить логи $ docker logs -# пример вывода +# пример логов running on http://localhost:8080 ``` @@ -267,7 +267,7 @@ hello world ``` Надеемся, что эта инструкция помогла вам настроить и запустить простое приложение -Node.js с помощью docker. +Node.js с помощью Docker. Вы можете найти больше информации о Docker и Node.js в docker по следующим ссылкам: