Both sides previous revision Previous revision Next revision | Previous revision |
docker_basic_dockerize [2020/01/24 19:43] – [Dockerfile] andonovj | docker_basic_dockerize [2020/05/03 11:49] (current) – [Wrong ASP.NET] andonovj |
---|
</sxh> | </sxh> |
| |
Now you can also download this simple web server from my docker hub. | Now you can also download this simple web from your docker hub or list it as follows: |
| |
| <sxh bash> |
| [root@postgresqlpgpool ~]# docker images |
| REPOSITORY TAG IMAGE ID CREATED SIZE |
| andonovj/httpserverdemo latest 4ab730ac8ab5 6 hours ago 207MB |
| [root@postgresqlpgpool ~]# |
| </sxh> |
| |
| =====Troubleshooting===== |
| You can have the following error: |
| |
| |
| ====Searching wrong Nuget==== |
| <Code: C#|Nuget Issue> |
| Restore completed in 41.36 ms for /app/HttpServerDemo.csproj. |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: The "ResolvePackageAssets" task failed unexpectedly. [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: NuGet.Packaging.Core.PackagingException: Unable to find fallback package folder 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder'. [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at NuGet.Packaging.FallbackPackagePathResolver..ctor(String userPackageFolder, IEnumerable`1 fallbackPackageFolders) [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(IEnumerable`1 packageFolders) [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.NET.Build.Tasks.NuGetPackageResolver.CreateResolver(LockFile lockFile) [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheWriter..ctor(ResolvePackageAssets task) [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader.CreateReaderFromDisk(ResolvePackageAssets task, Byte[] settingsHash) [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.NET.Build.Tasks.ResolvePackageAssets.CacheReader..ctor(ResolvePackageAssets task) [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ReadItemGroups() [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.NET.Build.Tasks.ResolvePackageAssets.ExecuteCore() [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.NET.Build.Tasks.TaskBase.Execute() [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [/app/HttpServerDemo.csproj] |
| /usr/share/dotnet/sdk/3.1.201/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(234,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask) [/app/HttpServerDemo.csproj] |
| The command '/bin/sh -c dotnet publish -c Release -o out' returned a non-zero code: 1 |
| </Code> |
| |
| In that case, either: |
| |
| * Delete the "obj" and "bin" folders from the directory |
| * Add a command to the "Dockerfile" to not upload these to the container as follows: |
| |
| <Code: bash| Edit Dockerfile> |
| # copy and build everything else |
| COPY . ./ |
| RUN find -type d -name bin -prune -exec rm -rf {} \; && find -type d -name obj -prune -exec rm -rf {} \; <- This line |
| ENTRYPOINT ["dotnet", "HttpServerDemo.dll"] |
| </Code> |
| |
| |
| ====Wrong ASP.NET==== |
| Be careful about the dockerizing the application. I tried to build the application with ASP.NET 2.2 while the app was build with ASP.NET 3.1, so I had to update my Dockerfile as follows: |
| |
| <Code: bash| Updated Docker File> |
| FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env <- This line |
| WORKDIR /app |
| |
| # Copy csproj and restore as distinct layers |
| COPY *.csproj ./ |
| RUN dotnet restore |
| |
| # Copy everything else and build |
| COPY . ./ |
| RUN dotnet publish -c Release -o out |
| |
| # Build runtime image |
| #FROM mcr.microsoft.com/dotnet/core/aspnet:2.2 |
| FROM mcr.microsoft.com/dotnet/core/sdk:3.1 |
| WORKDIR /app |
| COPY --from=build-env /app/out . |
| ENTRYPOINT ["dotnet", "HttpServerDemo.dll"] |
| </Code> |
| |
| Otherwise, you will receive the following error: |
| |
| <Code: bash| Error for wrong ASP.NET version> |
| It was not possible to find any compatible framework version |
| The specified framework 'Microsoft.NETCore.App', version '3.1.0' was not found. |
| - Check application dependencies and target a framework version installed at: |
| /usr/share/dotnet/ |
| - Installing .NET Core prerequisites might help resolve this problem: |
| https://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 |
| - The .NET Core framework and SDK can be installed from: |
| https://aka.ms/dotnet-download |
| - The following versions are installed: |
| 2.2.8 at [/usr/share/dotnet/shared/Microsoft.NETCore.App] |
| </Code> |