Ik ben al enige weken(
) aan het proberen om mijn software projectje(ASP.NET-project met C# in Visual studio) te publiceren in mijn eigen repository in Amazon Elastic Container Registry en de image daarvan automatisch te laten uitvoeren in Amazon ESC.
Ik heb e.e.a. nu dusdanig werkend dat ik de code vanaf Visual Studio kan pushen naar Github, welke het project vervolgens met behulp van een workflow oppakt en door middel van een dockerfile verwerkt tot een docker image dat in ECR wordt gepubliceerd.
Wat vervolgens moet gebeuren: ESC moet de image vanaf Elastic Container Registry halen, een container aanmaken en deze hosten.
Ik heb hiervoor een Task Definition gemaakt die door een Service wordt opgepakt en uitgevoerd. Het is te zien dat deze taken worden uitgevoerd(statussen pending, provisioning, activating) zijn zichtbaar) maar tot running komt het nooit. In de logs kan ik het volgende terugvinden:
* You intended to execute a .NET application:
The application 'Album.Api.dll' does not exist.
* You intended to execute a .NET SDK command:
No .NET SDKs were found.
Download a .NET SDK:
https://aka.ms/dotnet/download
Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found
The command could not be loaded, possibly because:
Het lijkt dus dat .NET en de dll in mijn app niet gevonden worden.
Dit terwijl ik in de Dockerfile duidelijk aangeef:
Zien jullie waar het misgaat?
Ik heb e.e.a. nu dusdanig werkend dat ik de code vanaf Visual Studio kan pushen naar Github, welke het project vervolgens met behulp van een workflow oppakt en door middel van een dockerfile verwerkt tot een docker image dat in ECR wordt gepubliceerd.
Wat vervolgens moet gebeuren: ESC moet de image vanaf Elastic Container Registry halen, een container aanmaken en deze hosten.
Ik heb hiervoor een Task Definition gemaakt die door een Service wordt opgepakt en uitgevoerd. Het is te zien dat deze taken worden uitgevoerd(statussen pending, provisioning, activating) zijn zichtbaar) maar tot running komt het nooit. In de logs kan ik het volgende terugvinden:
* You intended to execute a .NET application:
The application 'Album.Api.dll' does not exist.
* You intended to execute a .NET SDK command:
No .NET SDKs were found.
Download a .NET SDK:
https://aka.ms/dotnet/download
Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found
The command could not be loaded, possibly because:
Het lijkt dus dat .NET en de dll in mijn app niet gevonden worden.
Dit terwijl ik in de Dockerfile duidelijk aangeef:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build-env WORKDIR /Album.Api # Copy everything COPY . ./ # Restore as distinct layers RUN dotnet restore # Build and publish a release RUN dotnet publish -c Release -o out # Build runtime image. FROM mcr.microsoft.com/dotnet/aspnet:7.0 WORKDIR /Album.Api COPY --from=build-env /Album.Api . ENTRYPOINT ["dotnet", "Album.Api.dll"] |
Zien jullie waar het misgaat?
Spiegeltje, spiegeltje aan de wand, wie heeft de mooiste telefoon van het land?