Одним из основных преимуществ Docker является то, что он позволяет запускать программные проекты без необходимости настраивать сложные среды разработки.

Это руководство покажет вам, как создать Docker-образ веб-API .NET 5. Затем вы можете использовать образ для запуска внутреннего кода с любого ПК, на котором установлен Docker, и взаимодействия с API из интерфейсного веб-проекта или мобильного приложения.

Создание веб-API .NET 5

И Docker, и .NET 5 являются кроссплатформенными и имеют открытый исходный код, поэтому вы можете следовать этому руководству независимо от того, используете ли вы macOS, Windows или Linux.

Используйте интерфейс командной строки dotnet для создания проекта веб-API ASP.NET с помощью следующей команды:

 dotnet new webapi -o aspdockerapi 

Приведенная выше команда создает проект с именем аспдокерапи и помещает его в папку с таким же именем. Кроме того, приложение предоставляет контроллеру API некоторые образцы данных прогноза погоды.

Примечание: Если на вашем компьютере не установлен .NET 5, вы можете скачать его по ссылке ниже.

instagram viewer

Скачать: .NET 5 для Windows, macOS и Linux

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

cd aspdockerapi

Вы можете запускать и обслуживать веб-API, используя команду ниже.

 dotnet run 

По умолчанию приложение будет обслуживаться через порт 5001. Вы можете просмотреть образцы данных приложения в своем браузере по следующему URL-адресу: https://localhost: 5001 / прогноз погоды и данные API должны выглядеть, как показано ниже.

Учить больше: Что такое API?

Инструкции по созданию образа Docker

Чтобы создать образ Docker, вам необходимо дать Docker Engine некоторые инструкции по его созданию. Эти инструкции следует поместить в файл с именем Dockerfile. Обратите внимание, что у файла нет расширения.

Используйте следующую команду для создания Dockerfile в корневой папке проекта приложения.

коснитесь Dockerfile

После создания Dockerfile, структура папок ваших проектов должна быть аналогична приведенной ниже:

Теперь скопируйте и вставьте приведенный ниже код в свой Dockerfile.

ОТ mcr.microsoft.com/dotnet/aspnet: 5.0-focal AS base
WORKDIR / приложение
ЭКСПОЗИЦИЯ 80
ИЗ mcr.microsoft.com/dotnet/sdk: 5.0-focal AS build
WORKDIR / src
КОПИРОВАТЬ ["aspdockerapi.csproj", "./"]
ЗАПУСТИТЬ dotnet restore "./aspdockerapi.csproj"
КОПИРОВАТЬ. .
РАБОЧИЙ КАТАЛОГ "/ src /."
ЗАПУСТИТЬ dotnet build "aspdockerapi.csproj" -c Release -o / app / build
ИЗ сборки КАК опубликовать
RUN dotnet publish "aspdockerapi.csproj" -c Release -o / app / publish
ИЗ БАЗОВОГО КАК финал
WORKDIR / приложение
КОПИРОВАТЬ --from = publish / app / publish.
ENTRYPOINT ["dotnet", "aspdockerapi.dll"]

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

Понимание инструкций Dockerfile

В Dockerfile в основном состоит из ключевых слов Dockerfile, которые по соглашению представляют собой слова с заглавными буквами. Ключевые слова определяют инструкцию для выполнения на каждом уровне образа Docker. Ниже приведены основные ключевые слова Docker, которые используются в приведенном выше файле Docker.

1. ИЗ

В ИЗ ключевое слово определяет базовое изображение, на котором мы хотим построить наше изображение. В приведенном выше файле Dockerfile исходный базовый образ - это образ .NET 5 от Microsoft. Базовый образ .NET 5 содержит необходимые компоненты для запуска приложения.

2. WORKDIR

WORKDIR устанавливает рабочий каталог или контекст внутри изображения. В этом примере /app каталог назначается в качестве корневого рабочего каталога по умолчанию с помощью следующего оператора WORKDIR / приложение.

3. КОПИРОВАТЬ

В КОПИРОВАТЬ ключевое слово просто копирует контент из одной папки и помещает его в другую. В этом примере он изначально используется для копирования основного файла проекта, то есть аспдокерапи.csproj в рабочий каталог изображений.

4. ЗАПУСТИТЬ

В ЗАПУСТИТЬ ключевое слово используется для запуска определенной команды Linux в образе Docker. в Dockerfile выше, ЗАПУСТИТЬ Команда используется для восстановления зависимостей, сборки проекта ASP.NET и публикации проекта.

5. CMD

В CMD ключевое слово немного похоже на ЗАПУСТИТЬ ключевое слово, обсужденное выше. Он также используется при запуске команды Linux, но в отличие от ЗАПУСТИТЬ ключевое слово, которое запускает команды для построения изображения, CMD ключевое слово используется для запуска команд Linux при запуске образа в экземпляре контейнера.

6. EXPOSE

В РАЗОБЛАЧАТЬ ключевое слово используется для открытия порта внутри образа Docker внешнему миру. В этом случае изображение предоставляет порт 80, который используется для предоставления доступа к API при запуске контейнера Docker.

Создание образа Docker

Чтобы создать образ Docker на основе Dockerfile, просто запустите следующую команду в корневой папке проекта, то есть там, где Dockerfile размещен.

docker build -t dockerwebapi -f Dockerfile.

Команда выше помечает образ Docker именем dockerwebapi а также указывает, что инструкции по созданию этого изображения находятся в Dockerfile.

После завершения создания образа вы можете проверить, указан ли он как локальный образ Docker, с помощью следующей команды:

образы докеров

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

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

Скачать: Руководство по загрузке и установке Docker

Запуск образа Docker

Чтобы запустить только что созданный образ Docker, используйте следующую команду. В -ti опция указывает, что изображение должно запускаться в интерактивном режиме терминала, и --рм указывает, что контейнер должен быть удален сразу после его выхода.

docker run -ti --rm -p 8080: 80 dockerwebapi

Кроме того, команда указывает, что контейнер Docker должен работать на HTTP-порту 8080, который отображается на порт 80 внутри contianer.

Перейдите по URL-адресу: http://localhost: 8080 / WeatherForecast в вашем браузере, и вы обнаружите, что ваши данные API обслуживаются из экземпляра Docker, который вы используете.

Зачем использовать Docker?

В этом руководстве показано, как создать Docker-образ веб-API .NET 5.

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

Docker также предлагает несколько преимуществ по сравнению с другими технологиями виртуализации, поэтому вам, вероятно, следует рассмотреть возможность его использования в своих проектах разработки программного обеспечения.

Электронное письмо
6 причин использовать программное обеспечение для виртуализации Docker

Docker имеет множество преимуществ по сравнению с виртуальной машиной, и есть причины начать использовать его сегодня.

Читать далее

Похожие темы
  • Программирование
  • Веб-разработка
  • Докер
  • ASP.NET
Об авторе
Мвиза Кумвенда (Опубликовано 26 статей)

Мвиза занимается разработкой программного обеспечения по профессии и много пишет о Linux и интерфейсном программировании. Некоторые из его интересов включают историю, экономику, политику и архитектуру предприятий.

Ещё от Mwiza Kumwenda

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Еще один шаг…!

Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.

.