В этой статье показано, как создать простое приложение Node.js и настроить Docker для локального запуска приложения в режиме наблюдения внутри контейнера.
Зачем использовать Docker для разработки?
- Легкий запуск. Новым разработчикам необходим только Docker CE.
- Та же среда. Все, кто работает над проектом, будут иметь одинаковую среду (включая версии
Nodejs
иnpm
, а такжеnode_modules
, если используютсяpackage-lock.json
илиyarn.lock
). Также минимальная разница с производственной средой, если приложение работает в контейнере докера на продукте.
Предварительные требования:
- Docker CE (версия сообщества). Вы можете найти и установить с официального сайта Docker.
Создание приложения Node.js
- Создайте новый проект.
# Create new app directory npm i my-app # Initialize with npm init -y # Install express npm i express --save # Install nodemon for running an app in watch mode npm i nodemon --save-dev #create src dir and file inside mkdir src && touch src/index.js
2. Отредактируйте src/index.js
.
3. Добавьте сценарий в package.json
.
"srcipts": { "dev": "nodemon src/index.js" ... }
Настройка Dockerfile и docker-compose.yml
- Добавьте
Dockerfile
.
2. Добавьте docker-compose.yml
.
3. Добавьте сценарий в package.json
.
"scripts": { "docker:dev": "docker-compose up" ... }
Бегаем все вместе
- Запустить приложение в докер-контейнере в режиме наблюдения:
npm run docker:dev
.
Это создаст контейнер с использованием Dockerfile
и смонтирует локальный каталог в каталог приложения контейнера, а также запустит приложение в режиме наблюдения.
2. Вы можете проверить «http: // localhost: 3000».
Вы можете изменить исходные файлы, nodemon
будет перезапущен, как обычно, при изменении файлов.
Заключение
Весь исходный код доступен на Github.