Node.js — это фреймворк JavaScript с открытым исходным кодом, используемый для разработки серверной части приложений на любой операционной системе. Поскольку Node.js — это популярный фреймворк для разработки, Docker также обеспечил поддержку приложений Node.js.
Мы рассмотрим различные шаги для настройки и запуска контейнера Docker для Node.js.
Шаг 1. Первым делом извлекаем образ из Docker Hub. Когда вы войдёте в свой аккаунт на Docker Hub, то сможете найти образ Node.js. Просто введите Node в поле поиска и нажмите на ссылку node (official), которая появится в результатах поиска.
Шаг 2. Вы увидите команду Docker pull в деталях хранилища на Docker Hub.
Шаг 3. На хосте Docker используйте команду Docker pull, как показано выше, чтобы загрузить последний образ node из Docker Hub.
Как только команда закончит выполнение, мы можем перейти к следующему шагу.
Шаг 4. На хосте Docker воспользуемся текстовым редактором и создадим пример файла Node.js. В этом файле мы добавим простую команду для отображения “HelloWorld” в командной строке.
В файле Node.js добавим следующий оператор:
Console.log(‘Hello World’);
Он выведет сообщение “Hello World”, когда мы запустим файл через Node.js
Убедитесь, что вы сохранили файл прежде чем мы перейдём к следующему шагу.
Шаг 5. Чтобы запустить скрипт Node.js при помощи контейнера Node Docker, нам необходимо выполнить следующий запрос:
sudo docker run –it –rm –name = HelloWorld –v “$PWD”:/usr/src/app
–w /usr/src/app node node HelloWorld.js
Разберём данный запрос по порядку:
- Оператор -rm используется для удаления контейнера после его запуска.
- Оператор -name отвечает за имя контейнера; в нашем случае “HelloWorld”.
- Не забудьте сопоставить том в контейнере, расположенный по пути /usr/src/app, с нашим текущим рабочим каталогом. Это нужно сделать для того, чтобы контейнер узла смог получить наш скрипт HelloWorld.js, который расположен в нашем рабочем каталоге на хосте Docker.
- Оператор -w необходим для указания рабочего каталога, используемого Node.js.
- Первый оператор node используется для запуска образа узла.
- Второй оператор node используется для запуска команды узла в его контейнере.
- И, наконец, мы указываем имя нашего скрипта.
После чего мы получим следующий вывод, в котором мы можем увидеть, что контейнер Node был запущен и успешно выполнил скрипт HelloWorld.js.
Источник: Docker — Setting Node.js