Внедренный Дилан Аспдена
Резервное копирование секунды, что такое Docker?
Для тех незнакомых, Докер это программное обеспечение для создания, развертывания и запуска приложения или группы приложений в контейнерах. Что вы спрашиваете контейнер? Контейнер — это пакет, который содержит все необходимое для запуска вашего приложения. Это включает в себя операционную систему и любые программы в этой операционной системе, необходимой для запуска приложения.
В нашем случае большинство наших контейнеров являются установкой Linux (Ubuntu, Alpine и т. Д.) С Node.js установлен. Контейнеры могут быть использованы бесконечно много раз, сохраняя содержимое во что-то называемое изображение.
Docker чрезвычайно полезен для развертывания масштабирования услуг до производства. Вы можете запустить новые экземпляры, которые должны вытянуть только изображение Docker Down и запустите команду ввода, чтобы получить запущенное приложение. Это также полезно для разработки новых приложений. Не только Docker используется для развертывания приложений, но вы также можете разрабатывать локально внутри контейнера. Это означает, что при развертывании до производства вы знаете, что ожидать. Когда вы разрабатываете на MacOS, вы можете работать в случаях, когда программы не работают так же, как работает на Debian, Ubuntu и т. Д. Docker позволяет предвидеть эти потенциальные проблемы, прежде чем они когда-либо увидели свет дня.
Docker также полезен для новых напрос, изучая канаты на проектах. Все, что им нужно сделать, это установить Docker, и они могут немедленно перейти в проект, потому что все зависимости проходят внутри контейнеров.
Докер единственное решение там?
Нет. Есть и другие инструменты — бродяжественное существо. Тем не менее, усыновление и поддержка сообщества Docker далеко превышает другие решения, что делает Docker намного проще в использовании. Разработка местного и развертывания до производства — это бриз с докером. Крупнейшие хозяева, такие как Azure, Google Cloud Platform и Amazon Web Services, полностью поддерживают, а могут масштабироваться, среда докера. Это сдвигается много развлечений, работающих на облаках и позволяет сосредоточиться на важной части — создание вашей заявки.
Во-первых, давайте получим все, что вам нужно.
Хорошо, чтобы начать, вам понадобится несколько ресурсов. Если у вас еще нет домогота — сейчас время. Откройте свой терминал и запустите следующую команду: $/usr/bin/ruby -e "$ (curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)"
Следуйте подсказкам — это может занять несколько минут для установки инструментов командной строки XCode. Как только это завершено, вам нужно обновить хранилище домофона и установить Docker для Mac. Вам также понадобится Node.js, вы можете установить это сейчас. $ Brew Обновление
$ Brew бочка Установить Docker
Brew Установить узел
Первая команда обновляет хранилище на дому. Вторая команда установит Docker для Mac на вашем компьютере. Последняя команда устанавливает узел на вашу машину. Как только Docker для Mac установлен, вам может потребоваться запустить его, ища его в папке своих приложений и открывая программу. Следуйте инструкциям на экране, чтобы настроить Docker.
Далее — давайте настроим узел.
Теперь у вас есть все инструменты, которые вам нужно создать приложение вашего узла с Docker. Давайте создадим новый проект узла.
Вы не будете использовать какие-либо библиотеки или рамки для создания приложения узла, но процедура будет такой же, если вы сделали. Перейдите к папке, которую вы хотите создать проект, и запустите следующие команды. $ npm init - yes
$ touch index.js.
Первая команда создает новый проект узла с значениями по умолчанию. Вторая команда создает ваш файл JavaScript, который вы будете использовать в качестве входа приложения.
Далее вы собираетесь создать базовый файл JavaScript, который запускает HTTP-сервер на порту 1337 и отвечает на все запросы с «Hello, World!» Откройте файл index.js в вашем любимом редакторе и добавьте следующий код. const ('http');
const.createserver ((запрос, ответ) = > {
Ответ.end («Привет, мир!»);
});
server.listen (1337);
Ваше приложение у узла сделано! Теперь все, что нам нужно сделать, это создать то, что называется DockerFile, чтобы определить изображение, которое будет запускать наше приложение.
Давайте создадим DockerFile.
Вам понадобится контейнер, который запускает операционную систему и установлена узел. Многие популярные программные продукты имеют связанные изображения Docker, чтобы облегчить. Узел не является исключением. Если вам действительно любопытно, вы можете найти дополнительные ресурсы здесь: https://hub.docker.com/_/node/ Отказ
Вы можете использовать версию узла LTS, которая является кодоном «углерод». Чтобы начать создание своего изображения Docker, вам нужно будет создать Dockerfile в корне проекта. Используйте команду Touch ниже, чтобы сделать это. $ touch dockerfile.
Теперь откройте DockerFile и добавьте следующее. Из узла: углерод
Workdir/SRC
Копировать./src/
CMD [«Узел,« index.js »]
выставляют 1337
Первая строка говорит, что это изображение наследуется от изображения, предоставляемого создателями узла. Это означает, что вы получите установку Linux с узлом LTS, установленным по умолчанию. Далее рабочий каталог будет папкой/SRC. Это означает, что все команды, выполняемые в контейнере, выполняются внутри этого каталога. Теперь вы можете скопировать все файлы в свой проект в папку/SRC. Это означает, что ваш index.js скопирован в контейнер. Четвертая строка определяет команду, которая используется для запуска вашего приложения. Вы захотите запустить приложение с помощью узла. В будущих усилиях вы можете рассмотреть вопрос о процессе, который автоматически перезапускает приложение. PM2 хорош для этого. Последняя команда говорит, что этот контейнер имеет ваш порт 1337 приложений 1337 по умолчанию, чтобы вы могли сделать запросы на сервере.
Все, что остается, это создать и запустить новое приложение. Docker для Mac устанавливает инструменты командной строки Docker, которые вы можете использовать для создания вашего изображения. Запустите следующие команды в вашем терминале. $ docker build -t webApp.
$ Docker Run -P 1337: 1337 WebApp
Первая команда создает изображение, а вторая команда запускает изображение. Скажите вторую команду, что все запросы на порт 1337 на локальной машине будут пересылаться в порт 1337 в контейнере (то есть ваше приложение!).
Все, что остается, это открыть новую вкладку в вашем браузере и перейти к http://localhost: 1337 . Вы должны увидеть дружеское приветствие с вашего сервера внутри контейнера Docker.
Поздравляем, вы развернули приложение узла в контейнер Docker, и сохранил его к изображению, который вы можете развернуть в любом месте! Теперь вы можете теоретически загружать это изображение на услугу, такую как Amazon Web Services, и создать кластер, который автоматически весывает это приложение для вас.
Дополнительные ресурсы:
- Развертывание докеровских контейнеров на AWS
- Развертывание контейнеров докеров на облачной платформе Google
- Развертывание контейнеров докеров на Azure
Как этот учебник? Следить за DEVTIPS CHANNEL HEITHRE Для двухнедельных советов и трюков.
Ох, и мы упомянули, что мы нанимаем? Обратитесь к нам Отказ
Оригинал: «https://dev.to/_robynedgar/building-a-web-server-usingdocker-a-how-to-for-macos-1dfg»