Docker Init меняет правила игры в процессе контейнеризации наших приложений.
С помощью docker init мы можем быстро сгенерировать Dockerfile, compose.yml и .dockerignore. Раньше мы создавали эти файлы вручную и применяли лучшие практики.
Теперь с помощью всего лишь одной команды и ответа на ряд запросов Docker автоматически настраивает для нас эти необходимые файлы. Примечательно, что этот новый подход гарантирует соблюдение лучших отраслевых практик.
В сегодняшней статье мы также увидим демонстрацию докеризации приложения Node с помощью Docker init.
Предварительные требования:
- Docker Desktop 4.18 или новее
Шаги:
1) Инициализируем проект и устанавливаем зависимости:
Для этой демонстрации мы настроим базовое приложение с использованием Node и Express. Начинаем с инициализации проекта:
npm init
Затем устанавливаем зависимость Express:
npm i express
2) Добавляем скрипт запуска:
Добавляем скрипт запуска в файл package.json:
"scripts": {
"start": "node index.js"
},
3) Создаём простое API:
Создаём файл index.js и вставляем следующий код:
const express = require("express");
const app = express();
const port = 3000;
app.get("/", (req, res) => {
res.send("Hello World!");
});
app.listen(port, () => {
console.log(`App listening on port ${port}`);
});
4) Docker INIT:
Запускаем команду docker init и выбираем язык нашего проекта. Затем нам будет предложен ряд вопросов, адаптированных к нашему проекту и его структуре.
5) Запускаем приложение:
После установки выполняем команду docker compose up --build, чтобы создать образы и запустить приложение.
Вот и всё. Я надеюсь, что вы узнали что-то из этого. Поскольку мир движется к контейнеризации приложений, это может сыграть важную роль в ускорении выполнения задач и переходе от монолитов к микросервисам.
Перевод с некоторыми авторскими правками.
Автор оригинала: Pradumna Saraf.