|
|
@ -13,7 +13,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
Сервис TodoApi имеет следующие шаги сборки:
|
|
|
|
Сервис TodoApi имеет следующие шаги сборки:
|
|
|
|
|
|
|
|
|
|
|
|
- Во-первых, для его сборки необходим образ `mcr.microsoft.com/dotnet/sdk:7.0`
|
|
|
|
- Во-первых, для его сборки необходим .NET 7 SDK
|
|
|
|
- Далее, из директории, в которой находятся исходные коды сервиса(см. `todo_app/TodoApi`), \
|
|
|
|
- Далее, из директории, в которой находятся исходные коды сервиса(см. `todo_app/TodoApi`), \
|
|
|
|
нужно сделать `dotnet restore TodoApi.csproj` - эта команда скачает зависимости сервиса.
|
|
|
|
нужно сделать `dotnet restore TodoApi.csproj` - эта команда скачает зависимости сервиса.
|
|
|
|
- Следующим шагом идет непосредственно сборка сервиса. \
|
|
|
|
- Следующим шагом идет непосредственно сборка сервиса. \
|
|
|
@ -25,14 +25,14 @@
|
|
|
|
которая опубликует результирующие бинарные файлы, а также зависимости сервиса \
|
|
|
|
которая опубликует результирующие бинарные файлы, а также зависимости сервиса \
|
|
|
|
в `<publish_directory>`(например в `/app/publish`).
|
|
|
|
в `<publish_directory>`(например в `/app/publish`).
|
|
|
|
|
|
|
|
|
|
|
|
Для запуска процесса сервиса, образ SDK не нужен, достаточно лишь образа, содержащего соответствующий фреймворк \
|
|
|
|
Для запуска процесса сервиса SDK не нужен, достаточно лишь соответствующего фреймворка \
|
|
|
|
`ASP.NET` - в данном случае `mcr.microsoft.com/dotnet/aspnet:7.0`. \
|
|
|
|
`ASP.NET` - в данном случае версии `7.0`. \
|
|
|
|
Запуск осуществляется вызовом исполняемого файла `./TodoApi` из директории, которая хранит опубликованные \
|
|
|
|
Запуск осуществляется вызовом исполняемого файла `./TodoApi` из директории, которая хранит опубликованные \
|
|
|
|
бинарные файлы сервиса и его зависимостей.
|
|
|
|
бинарные файлы сервиса и его зависимостей.
|
|
|
|
|
|
|
|
|
|
|
|
`JavaScript` приложение собирается следующим образом:
|
|
|
|
`JavaScript` приложение собирается следующим образом:
|
|
|
|
|
|
|
|
|
|
|
|
- Прежде всего, необходим образ `NodeJS` - в данном случае подойдет `node:21`.
|
|
|
|
- Прежде всего, необходим `NodeJS` - в данном случае подойдет версия `21`.
|
|
|
|
- Далее, из директории, в которой находятся исходные коды приложения(см. `todo_app/todo_ui`), \
|
|
|
|
- Далее, из директории, в которой находятся исходные коды приложения(см. `todo_app/todo_ui`), \
|
|
|
|
нужно вызывать `npm install` - это команда скачает зависимости приложения.
|
|
|
|
нужно вызывать `npm install` - это команда скачает зависимости приложения.
|
|
|
|
- После этого, в этой же директории необходимо выполнить команду `npm run build`, в результате чего, \
|
|
|
|
- После этого, в этой же директории необходимо выполнить команду `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`
|
|
|
|
- Готовое приложение API-сервиса вместе с зависимостями должно находиться в директории `/app`
|
|
|
|
- `JavaScript` приложение должно находиться в директории `/app/wwwroot`
|
|
|
|
- `JavaScript` приложение должно находиться в директории `/app/wwwroot`
|
|
|
|
- При старте контейнера из такого образа, должен запускаться приложение API-сервиса.
|
|
|
|
- При старте контейнера из такого образа, должен запускаться приложение API-сервиса.
|
|
|
|