diff --git a/module2/08_docker_containerization_advanced/tasks.md b/module2/08_docker_containerization_advanced/tasks.md index 964dcf4..f69139a 100644 --- a/module2/08_docker_containerization_advanced/tasks.md +++ b/module2/08_docker_containerization_advanced/tasks.md @@ -13,7 +13,7 @@ Сервис TodoApi имеет следующие шаги сборки: - - Во-первых, для его сборки необходим образ `mcr.microsoft.com/dotnet/sdk:7.0` + - Во-первых, для его сборки необходим .NET 7 SDK - Далее, из директории, в которой находятся исходные коды сервиса(см. `todo_app/TodoApi`), \ нужно сделать `dotnet restore TodoApi.csproj` - эта команда скачает зависимости сервиса. - Следующим шагом идет непосредственно сборка сервиса. \ @@ -25,14 +25,14 @@ которая опубликует результирующие бинарные файлы, а также зависимости сервиса \ в ``(например в `/app/publish`). -Для запуска процесса сервиса, образ SDK не нужен, достаточно лишь образа, содержащего соответствующий фреймворк \ -`ASP.NET` - в данном случае `mcr.microsoft.com/dotnet/aspnet:7.0`. \ +Для запуска процесса сервиса SDK не нужен, достаточно лишь соответствующего фреймворка \ +`ASP.NET` - в данном случае версии `7.0`. \ Запуск осуществляется вызовом исполняемого файла `./TodoApi` из директории, которая хранит опубликованные \ бинарные файлы сервиса и его зависимостей. `JavaScript` приложение собирается следующим образом: -- Прежде всего, необходим образ `NodeJS` - в данном случае подойдет `node:21`. +- Прежде всего, необходим `NodeJS` - в данном случае подойдет версия `21`. - Далее, из директории, в которой находятся исходные коды приложения(см. `todo_app/todo_ui`), \ нужно вызывать `npm install` - это команда скачает зависимости приложения. - После этого, в этой же директории необходимо выполнить команду `npm run build`, в результате чего, \ @@ -47,9 +47,11 @@ #### Задачи. -1. Напишите `Dockerfile`, из которого можно было бы создать образ, который отвечал бы следующим требованиям: +1. Напишите `Dockerfile`, из которого можно было бы создать образ, и который отвечал бы следующим требованиям: - - Образ должен основываться на образе `mcr.microsoft.com/dotnet/aspnet:7.0` + - Фаза сборки API-сервиса должна использовать образ `mcr.microsoft.com/dotnet/sdk:7.0` + - Фаза сборки `JavaScript` приложения должна использовать образ `node:21` + - Результирующий образ должен основываться на `mcr.microsoft.com/dotnet/aspnet:7.0` - Готовое приложение API-сервиса вместе с зависимостями должно находиться в директории `/app` - `JavaScript` приложение должно находиться в директории `/app/wwwroot` - При старте контейнера из такого образа, должен запускаться приложение API-сервиса.