Все знают Docker. Docker — это набор инструментов, использующих виртуализацию на уровне ОС для доставки программного обеспечения в пакетах, называемых контейнерами. Если вы никогда раньше не пробовали использовать Docker, это руководство — идеальное место для начала. Следуйте этим инструкциям, и на Dockerize вашего первого приложения уйдет менее 3 минут.
Шаг 1. Установите Docker. Следуйте инструкциям для вашей платформы:
Windows: https://docs.docker.com/desktop/windows/install/
Linux: https://docs.docker.com/engine/install/ubuntu/
Шаг 2. Установите Node.js. Приложение, которое мы будем контейнеризировать, написано на Node.js. Поэтому нам нужны инструменты, которые позволят нам сначала протестировать приложение локально без контейнера. Однако, конечно, мы можем использовать приложение, написанное на любом другом языке.
Linux: https://www.geeksforgeeks.org/installation-of-node-js-on-linux
Windows: https://www.geeksforgeeks.org/installation-of-node-js-on-windows
Шаг 3. Скачайте пример приложения. Откройте терминал и выполните эти команды:
Linux:
wget https://raw.githubusercontent.com/vladimirmukhin/nodejs-hello/main/app.js
Windows:
powershell "Invoke-WebRequest -Outfile app.js -Uri https://raw.githubusercontent.com/vladimirmukhin/nodejs-hello/main/app.js"
Шаг 4. Запустите приложение локально
node app.js
Шаг 5. Убедитесь, что приложение отвечает на порту 3000
curl http://127.0.0.1:3000
или откройте этот адрес в браузере
Шаг 6. Создайте файл Docker. Создайте файл с именем Dockerfile (без расширения) и добавьте в него следующие строки
Используйте node в качестве базового образа:
FROM node:latest
Скопируйте app.js в ваш контейнер:
COPY ./app.js .
При запуске контейнера запустите приложение:
CMD node app.js
Подводя итог, можно сказать, что ваш Dockerfile должен выглядеть следующим образом:
Шаг 7. Соберите образ.
docker build -t nodejs-hello:latest .
Шаг 8. Запустите свой контейнер.
docker run -d -p 3000:3000 nodejs-hello:latest
Шаг 9. Проверьте работоспособность вашего контейнера. Убедитесь, что приложение отвечает на порту 3000. Но на этот раз оно действительно обслуживается из контейнера:
curl http://127.0.0.1:3000
или откройте этот адрес в браузере.
Поздравляем! Вы создали свой первый образ docker и запустили свой первый контейнер. Дайте мне знать в комментариях, сколько времени это заняло у вас.
Подать заявку на индивидуальное наставничество можно здесь: https://yourdevopsmentor.com/apply/.
Подключайтесь ко мне на LinkedIn: https://www.linkedin.com/in/vladimir-mukhin-devops/
История успеха моего клиента: https://yourdevopsmentor.com/blog/from-biologist-to-devops-engineer/
Первоначально опубликовано на https://yourdevopsmnetor.com