Если вы работаете на Mac с чипом Apple M1 или M2, вам необходимо установить версию Arm64 для SDK.
Проверьте, все ли установлено правильно
После установки откройте новую командную строку и выполните следующую команду:
После установки откройте новый терминал и выполните следующую команду:
Terminal
dotnet --version
Если установка выполнена успешно, вы должны увидеть версию 8.0.100 или более позднюю:
Command prompt
8.0.100
Если все в порядке, нажмите кнопку Продолжить ниже, чтобы перейти к следующему шагу.
Произошла ошибка?
Если вы получаете сообщение об ошибке 'dotnet' is not recognized as an internal or external command, убедитесь, что вы открыли новую командную строку. Если быстрый перезапуск компьютера не устраняет проблему, нажмите кнопку У меня возникла проблема, чтобы получить помощь в устранении проблемы.
Создайте свой сервис
В командной строке выполните следующую команду, чтобы создать приложение:
В терминале выполните следующую команду, чтобы создать приложение:
Terminal
dotnet new webapi -o MyMicroservice --no-https
Затем перейдите в новый каталог, созданный предыдущей командой:
Terminal
cd MyMicroservice
Что означают эти команды?
Команда dotnet создает новое приложение типа webapi (это REST API конечной точки).
Параметр -o создает каталог с именем MyMicroservice, в котором хранится ваше приложение.
Флаг --no-https создает приложение, которое будет работать без сертификата HTTPS для упрощения разработки.
Команда cd MyMicroservice помещает вас во вновь созданный каталог приложения.
Сгенерированный код
В каталоге MyMicroservice было создано несколько файлов, чтобы предоставить вам простую службу, готовую к запуску, включая следующие файлы:
Program.cs является файлом точки входа и содержит все параметры и конфигурацию, которые загружаются при запуске приложения и содержат код простого API, возвращающий прогноз погоды на следующие пять дней. Он также запускает приложение.
MyMycroservice.http используется для тестирования проектов ASP.NET Core.
MyMicroservice.csproj определяет версию .NET, на которую нацелено приложение, на какие библиотеки ссылается проект и т. д.
Файл launchSettings.json в каталоге Properties определяет различные параметры профиля для локальной среды разработки. Номер порта в диапазоне от 5000 до 5300 автоматически назначается при создании проекта и сохраняется в этом файле.
В следующем коде показано содержимое файла Program.cs:
Program.cs
var builder = WebApplication.CreateBuilder(args);// Add services to the container.// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbucklebuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();var app = builder.Build();// Configure the HTTP request pipeline.if (app.Environment.IsDevelopment()){ app.UseSwagger(); app.UseSwaggerUI();}var summaries = new[]{ "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"};app.MapGet("/weatherforecast", () =>{ var forecast = Enumerable.Range(1, 5).Select(index => new WeatherForecast ( DateOnly.FromDateTime(DateTime.Now.AddDays(index)), Random.Shared.Next(-20, 55), summaries[Random.Shared.Next(summaries.Length)] )) .ToArray(); return forecast;}).WithName("GetWeatherForecast").WithOpenApi();app.Run();record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary){ public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);}
Нажмите кнопку Продолжить ниже, чтобы перейти к следующему шагу.
Произошла ошибка?
Если вы получили сообщение вроде Не удалось создать шаблон "ASP.NET Core Web API". Создать шаблон не удалось. Подробности: отказано в доступе к пути "C:\Windows\System32\MyMicroservice", измените текущий каталог на другой, в котором у вас есть разрешения на создание новой папки, и попробуйте выполнить команду еще раз.
Если Windows не удается найти SDK при попытке создать проект, и вы уверены, что установили SDK, на своем компьютере, возможно, есть проблема с переменной среды PATH. Инструкции по диагностике и устранению этой проблемы см. в этом публикации Stack Overflow.
Если вы не можете решить возникшую проблему, нажмите кнопку Я столкнулся с проблемой ниже, чтобы получить помощь в устранении проблемы.
Запустите свой сервис
В командной строке выполните следующую команду:
В терминале выполните следующую команду:
Terminal
dotnet run
Вы должны увидеть вывод, подобный следующему:
Command prompt
Building...info: Microsoft.Hosting.Lifetime[14]Now listening on: http://localhost:5020info: Microsoft.Hosting.Lifetime[0]Application started. Press Ctrl+C to shut down.info: Microsoft.Hosting.Lifetime[0]Hosting environment: Developmentinfo: Microsoft.Hosting.Lifetime[0]Content root path: C:\Users\Ana\MyMicroservice
Дождитесь, пока приложение сообщит, что прослушивает порт http://localhost:<port number>, откройте браузер и перейдите по адресу http://localhost:<port number>/weatherforecast.
В этом примере показано, что прослушивается порт 5020, поэтому на следующем изображении показан URL-адрес localhost:5020/weatherforecast.
Поздравляем, у вас запущен простой сервис!
Нажмите CTRL+C в командной строке, чтобы завершить команду dotnet run, запускающую службу локально.
Нажмите CTRL+C на своем терминале, чтобы завершить команду dotnet run, запускающую службу локально.
Произошла ошибка?
Если вы получили сообщение, похожее на Веб-страница не найдена для веб-адреса: http://localhost:5020, убедитесь, что вы просматриваете страницу прогноза погоды приложения. URL-адрес должен выглядеть следующим образом: http://localhost:5020/weatherforecast, а не просто http://localhost:5020.
Установить Docker
Docker — это платформа, которая позволяет вам объединить приложение, его конфигурацию и зависимости в единую, независимо развертываемую единицу, называемую контейнером.
Если у вас уже установлен Docker, убедитесь, что он имеет версию 23.0.0 или более позднюю.
Загрузить и установить
Вам будет предложено зарегистрироваться в магазине Docker, прежде чем вы сможете скачать установщик.
По умолчанию Docker будет использовать контейнеры Linux в Windows. Оставьте эти параметры конфигурации как есть при появлении запроса в установщике.
После установки Docker вас могут попросить выйти, чтобы завершить установку.
Убедитесь, что Docker готов к использованию
После установки откройте новую командную строку и выполните следующую команду:
После установки откройте новый терминал и выполните следующую команду:
Terminal
docker --version
Если команда запускается, отображая некоторую информацию о версии, значит, Docker успешно установлен.
Добавьте метаданные Docker
Чтобы запустить образ Docker, требуется Dockerfile — текстовый файл, содержащий инструкции по сборке приложения в виде образа Docker. Образ Docker содержит все необходимое для запуска вашего приложения в качестве контейнера Docker.
Вернуться в каталог приложений
Поскольку вы открыли новую командную строку на предыдущем шаге, вам нужно вернуться в каталог, в котором вы создали свой сервис.
Поскольку вы открыли новый терминал на предыдущем шаге, вам нужно вернуться в каталог, в котором вы создали свой сервис.
Terminal
cd MyMicroservice
Добавьте DockerFile
Создайте файл с именем Dockerfile с помощью этой команды:
Terminal
touch Dockerfile
Terminal
fsutil file createnew Dockerfile 0
Затем вы можете открыть его в своем любимом текстовом редакторе.
Затем вы можете открыть его в своем любимом текстовом редакторе вручную или с помощью этой команды:
Terminal
open Dockerfile
Terminal
start Dockerfile
Замените содержимое Dockerfile на следующее в текстовом редакторе:
Примечание. Убедитесь, что файл называется Dockerfile, а не Dockerfile.txt или как-то иначе.
Необязательно: добавьте файл .dockerignore.
Файл .dockerignore сокращает набор файлов, которые используются как часть сборки docker. Чем меньше файлов, тем быстрее сборка.
Создайте файл с именем .dockerignore (это похоже на файл .gitignore, если вы знакомы с ним) с помощью этой команды:
Terminal
touch .dockerignore
Terminal
fsutil file createnew .dockerignore 0
Затем вы можете открыть его в своем любимом текстовом редакторе.
Затем вы можете открыть его в своем любимом текстовом редакторе вручную или с помощью этой команды:
Terminal
open .dockerignore
Terminal
start .dockerignore
В текстовом редакторе замените содержимое .dockerignore на следующее:
.dockerignore
Dockerfile[b|B]in[O|o]bj
Создать образ Docker
Выполните следующую команду:
Terminal
docker build -t mymicroservice .
Команда docker build использует Dockerfile для создания образа Docker.
Параметр -t mymicroservice предписывает пометить (или назвать) изображение как mymicroservice.
Последний параметр указывает, какой каталог следует использовать для поиска Dockerfile (. указывает текущий каталог).
Эта команда загрузит и создаст все зависимости для создания образа Docker и может занять некоторое время.
Вы можете запустить следующую команду, чтобы просмотреть список всех образов, доступных на вашем компьютере, включая тот, который вы только что создали.
Terminal
docker images
Запустить образ Docker
Можно запустить приложение в контейнере с помощью следующей команды:
Terminal
docker run -it --rm -p 3000:8080 --name mymicroservicecontainer mymicroservice
Вы можете перейти по следующему URL-адресу, чтобы получить доступ к вашему приложению, работающему в контейнере: http://localhost:3000/weatherforecast
При желании вы можете просмотреть свой контейнер, работающий в отдельной командной строке, используя следующую команду:
При желании вы можете просмотреть свой контейнер в отдельном окне терминала, используя следующую команду:
Terminal
docker ps
Нажмите CTRL+C в командной строке, чтобы завершить команду docker run, запускающую службу в контейнере.
Нажмите CTRL+C на своем терминале, чтобы завершить команду docker run, запускающую службу в контейнере.
Поздравляем! Вы успешно создали небольшую независимую службу, которую можно развернуть и масштабировать с помощью контейнеров Docker.
Это основные строительные блоки микросервисов.
Произошла ошибка?
Если вы получили сообщение, похожее на ERROR: ошибка во время подключения: эта ошибка может означать, что управляющая программа Docker не запущена, это может означать, что вам необходимо запустить приложение Docker. Убедитесь, что клиент Docker запущен, выполнив команду docker run hello-world. Это должно извлечь и запустить образ. Дополнительную помощь о диагностике и устранении этой проблемы можно найти. в документации Docker.
Следующие шаги
Поздравляем! Вы создали простую службу и запустили ее в контейнере Docker.
Теперь вы можете узнать, как развернуть свою микрослужбу в облаке с помощью нашего следующего руководства.