Рубрики
Uncategorized

Контейнеризация аспекта. Основное приложение с Docker

В моих последних двух статьях Demystinging Docker и введение в Куберанес. Я объяснил концепцию … Теги с докером, дежоптом.

В моих последних двух статьях Demystinging Docker и введение в Куберанес. Я объяснил концепцию докера и Куберанес и как они помогают упростить разработку, развертывание и операции. Эта статья является частью 1 серии из двух частей по развертыванию ASP. Чистая приложение с Kubernetes, направленным на практическое руководство к Куберату. В этой статье мы сосредоточимся на создании образа Docker для веб-API ASP.NET CORE WEB, запускаем изображение в контейнере и развертываем этот контейнер в Docker Hub.

  1. Docker, VS Code и VS Code Docker Dection должен быть установлен. Скачать Docker здесь Отказ Скачать vs код здесь .Go в вкладку VSCode Extensions, поиск докеров и установите его.

VS Code Docker Расширение предоставляет пользовательский способ создания, сборки и запуска изображений докера.

2. для .NET. Разработка, вам придется установить .NET Основной комплект разработки программного обеспечения. здесь Отказ

Создайте проект webapi

  1. Создайте новую папку для вашего проекта
  2. Создайте проект Dotnet Core Web API.

Как вы можете видеть, это веб-API BoaterPlate Web, который приходит, когда вы создаете новый проект.

Создать dockerfile

  1. Откройте командный палитра — (Ctrl + Shift + P) или на Mac (⇧⌘p) и используйте Docker: добавьте файлы докера на Workspace …

  2. Используйте .NET: ASP.NET CORE при предложении для платформы приложений.

  3. Выберите Windows или Linux при предложении выбрать операционную систему. Окна применимы только в том случае, если ваша установка Docker настроен на использование контейнеров Windows.

  4. Вам будет предложено, хотите ли вы добавить Docker Compose файлы. Мы не будем использовать Docker Compose в этом руководстве, поэтому «да» и «нет» ответов в порядке.

5.Change Порт для конечной точки приложения до 5200.

6. ockerFile и файлы .Dockerignore добавляются в рабочее пространство.

Анализируя Dockerfile

Давайте пройдем через этот докер вместе. Я добавил комментарии над строкой для простого понимания.

  1. Откройте файл DockerFile.

  2. Используйте ENV-инструкцию, чтобы добавить переменную среды на изображение контейнера обслуживания. Инструкция должна быть размещена на базовом этапе DockerFile (первый этап в файле). Установите переменную ASPNetCore_url на http://*: 5200:

Только базовое изображение последнего этапа, которое представляет собой изображение выполнения, будет включено в ваше изображение. Он похож на создание папки «Публикация на вашем компьютере» и опубликовать свою веб-API в эту папку. Вам нужно все остальные вещи, чтобы опубликовать веб-API. Но в действительности, это окончательная опубликованная папка, которую мы отправляем в развертывание.

Создайте изображение для DockerFile Вы только что создали

Откройте командный палитр (⇧⌘P) и используйте изображения Docker: CONGRABLE Image Command См. Фактическую команду сборки

Откройте Docker Explorer и убедитесь, что новое изображение видно в дереве изображений:

Запустите изображение в контейнере

Щелкните правой кнопкой мыши на изображении, созданном и нажмите «Запустить» или «Запустить интерактив». Контейнеры будут работать, и вы сможете увидеть его приложение Docker, как показано ниже. Что происходит под капотом, заключается в том, что Docker предоставляет контейнер для вашей системы для запуска изображения Docker. Таким образом, изображение на самом деле работает в контейнере Docker Daemon. Смотрите фактическую команду, если вы должны были запустить его из командной строки.

docker run --rm -d  -p 5000:5200/tcp --name mytestWebApi testwebapi:latest 

При запуске контейнера важно дать ему имя, чтобы вы могли легко обратиться к нему. Вы также можете получить доступ к контейнеру по его я бы.

Что делает эту команду, заключается в том, чтобы запустить этот документ Docker (TestWebAPI) с этим тегом (последним) и отображением входящего трафика в присвоенный вами порт докера (5200).

Флаг — (Rm) используется, когда вам нужен контейнер, который будет удален после того, как задача для нее завершена. Это подходит для небольших целей тестирования или POC и экономит головную боль для домашнего хозяйства.

Флаг- (D) означает, что контейнер должен быть отсоединен и может работать на фоне вашего терминала. Он не получает выход ввода или отображения. Если вы запускаете контейнеры на заднем плане, вы можете узнать их детали, используя (Docker PS), а затем подключите свой терминал на свой вход и вывод.

Флаг- (P) — это публиковать 5000 порт от хоста в контейнер к порту 5200 внутри контейнера. Это означает, что кто-либо соединяется с этим хостом по порту 5000, будет направляться в контейнер через порт 5200.

Флаг — (имя) используется для имени Назначение имени к контейнеру Docker.

Откройте веб-браузер и перейдите к http://localhost: 5200/WeatherForecast . Вы должны увидеть данные о погоде в формате JSON. .

Эти данные загружаются из вашего контейнера Docker. Если вы перестанете запустить контейнер, URL больше не может быть достигнут.

Docker Container LS — — покажет вам список всех контейнеров, работающих в вашей системе

Docker Container Stop [ID контейнера или зона контейнера] — можно использовать для того, чтобы остановить запуск контейнеров.

Вы можете получить полный список команд Docker здесь

Публикация вашего изображения в Dockerhub

DockerHub — это онлайн-хранилище для документов докера. Многие приложения и библиотеки доступны в виде изображений для скачивания, и вы можете опубликовать свои там.

Чтобы опубликовать докерное изображение, вы можете запустить эту команду

docker push [dockerId]/testwebapi:latest 

Или нажмите на кнопку, используя поддержку докера, как показано на скриншоте ниже.

Вы можете войти в Dockerhub и просматривать свой образ докера.

Если другой разработчик в вашей команде нужен доступ к этому API, все, что им нужно сделать, это тянуть изображение, и у них есть точные webapi. Это также помогает легко масштабировать приложение к нескольким серверам.

В этой статье у нас есть

  1. Создано A.Net Core API
  2. Создал Dockerfile с помощью расширения Docker VSCode
  3. Создан, построенный и докер изображения,
  4. Управлял изображение Docker внутри контейнера Docker, а затем опубликовал наше изображение в Dockerhub.

В следующей статье мы будем развернуть наш ASP. Net Core Web API для Kubernetes.

Оригинал: «https://dev.to/gbengelebs/containerize-an-aspnet-core-application-with-docker-4cmo»