Added dockerfile, added compose
This commit is contained in:
		
							
								
								
									
										24
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								.dockerignore
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					**/.classpath
 | 
				
			||||||
 | 
					**/.dockerignore
 | 
				
			||||||
 | 
					**/.env
 | 
				
			||||||
 | 
					**/.git
 | 
				
			||||||
 | 
					**/.gitignore
 | 
				
			||||||
 | 
					**/.project
 | 
				
			||||||
 | 
					**/.settings
 | 
				
			||||||
 | 
					**/.toolstarget
 | 
				
			||||||
 | 
					**/.vs
 | 
				
			||||||
 | 
					**/.vscode
 | 
				
			||||||
 | 
					**/*.*proj.user
 | 
				
			||||||
 | 
					**/*.dbmdl
 | 
				
			||||||
 | 
					**/*.jfm
 | 
				
			||||||
 | 
					**/azds.yaml
 | 
				
			||||||
 | 
					**/bin
 | 
				
			||||||
 | 
					**/docker-compose*
 | 
				
			||||||
 | 
					**/Dockerfile*
 | 
				
			||||||
 | 
					**/node_modules
 | 
				
			||||||
 | 
					**/npm-debug.log
 | 
				
			||||||
 | 
					**/obj
 | 
				
			||||||
 | 
					**/secrets.dev.yaml
 | 
				
			||||||
 | 
					**/values.dev.yaml
 | 
				
			||||||
 | 
					LICENSE
 | 
				
			||||||
 | 
					README.md
 | 
				
			||||||
@@ -8,6 +8,9 @@
 | 
				
			|||||||
    <SpaRoot>ClientApp\</SpaRoot>
 | 
					    <SpaRoot>ClientApp\</SpaRoot>
 | 
				
			||||||
    <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
 | 
					    <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
 | 
				
			||||||
    <AssemblyName>Birdmap.API</AssemblyName>
 | 
					    <AssemblyName>Birdmap.API</AssemblyName>
 | 
				
			||||||
 | 
					    <UserSecretsId>a919c854-b332-49ee-8e38-96549f828836</UserSecretsId>
 | 
				
			||||||
 | 
					    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
 | 
				
			||||||
 | 
					    <DockerComposeProjectPath>..\docker-compose.dcproj</DockerComposeProjectPath>
 | 
				
			||||||
  </PropertyGroup>
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
 | 
					  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
 | 
				
			||||||
@@ -31,6 +34,7 @@
 | 
				
			|||||||
      <PrivateAssets>all</PrivateAssets>
 | 
					      <PrivateAssets>all</PrivateAssets>
 | 
				
			||||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
					      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
				
			||||||
    </PackageReference>
 | 
					    </PackageReference>
 | 
				
			||||||
 | 
					    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
 | 
				
			||||||
    <PackageReference Include="MQTTnet" Version="3.0.13" />
 | 
					    <PackageReference Include="MQTTnet" Version="3.0.13" />
 | 
				
			||||||
    <PackageReference Include="MQTTnet.AspNetCore" Version="3.0.13" />
 | 
					    <PackageReference Include="MQTTnet.AspNetCore" Version="3.0.13" />
 | 
				
			||||||
    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
 | 
					    <PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										30
									
								
								Birdmap.API/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Birdmap.API/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
 | 
				
			||||||
 | 
					FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					EXPOSE 80
 | 
				
			||||||
 | 
					EXPOSE 443
 | 
				
			||||||
 | 
					RUN curl -sL https://deb.nodesource.com/setup_10.x |  bash -
 | 
				
			||||||
 | 
					RUN apt-get update
 | 
				
			||||||
 | 
					RUN apt-get install -y nodejs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
 | 
				
			||||||
 | 
					RUN curl -sL https://deb.nodesource.com/setup_10.x |  bash -
 | 
				
			||||||
 | 
					RUN apt-get update
 | 
				
			||||||
 | 
					RUN apt-get install -y nodejs
 | 
				
			||||||
 | 
					WORKDIR /src
 | 
				
			||||||
 | 
					COPY ["Birdmap.API/Birdmap.API.csproj", "Birdmap.API/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.BLL/Birdmap.BLL.csproj", "Birdmap.BLL/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.Common/Birdmap.Common.csproj", "Birdmap.Common/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.DAL/Birdmap.DAL.csproj", "Birdmap.DAL/"]
 | 
				
			||||||
 | 
					RUN dotnet restore "Birdmap.API/Birdmap.API.csproj"
 | 
				
			||||||
 | 
					COPY . .
 | 
				
			||||||
 | 
					WORKDIR "/src/Birdmap.API"
 | 
				
			||||||
 | 
					RUN dotnet build "Birdmap.API.csproj" -c Release -o /app/build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM build AS publish
 | 
				
			||||||
 | 
					RUN dotnet publish "Birdmap.API.csproj" -c Release -o /app/publish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM base AS final
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					COPY --from=publish /app/publish .
 | 
				
			||||||
 | 
					ENTRYPOINT ["dotnet", "Birdmap.API.dll"]
 | 
				
			||||||
							
								
								
									
										28
									
								
								Birdmap.API/Dockerfile.original
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								Birdmap.API/Dockerfile.original
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
 | 
				
			||||||
 | 
					FROM mcr.microsoft.com/dotnet/aspnet:5.0-buster-slim AS base
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					EXPOSE 80
 | 
				
			||||||
 | 
					EXPOSE 443
 | 
				
			||||||
 | 
					RUN curl -sL https://deb.nodesource.com/setup_10.x |  bash -
 | 
				
			||||||
 | 
					RUN apt-get install -y nodejs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM mcr.microsoft.com/dotnet/sdk:5.0-buster-slim AS build
 | 
				
			||||||
 | 
					RUN curl -sL https://deb.nodesource.com/setup_10.x |  bash -
 | 
				
			||||||
 | 
					RUN apt-get install -y nodejs
 | 
				
			||||||
 | 
					WORKDIR /src
 | 
				
			||||||
 | 
					COPY ["Birdmap.API/Birdmap.API.csproj", "Birdmap.API/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.BLL/Birdmap.BLL.csproj", "Birdmap.BLL/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.Common/Birdmap.Common.csproj", "Birdmap.Common/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.DAL/Birdmap.DAL.csproj", "Birdmap.DAL/"]
 | 
				
			||||||
 | 
					RUN dotnet restore "Birdmap.API/Birdmap.API.csproj"
 | 
				
			||||||
 | 
					COPY . .
 | 
				
			||||||
 | 
					WORKDIR "/src/Birdmap.API"
 | 
				
			||||||
 | 
					RUN dotnet build "Birdmap.API.csproj" -c Release -o /app/build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM build AS publish
 | 
				
			||||||
 | 
					RUN dotnet publish "Birdmap.API.csproj" -c Release -o /app/publish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM base AS final
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					COPY --from=publish /app/publish .
 | 
				
			||||||
 | 
					ENTRYPOINT ["dotnet", "Birdmap.API.dll"]
 | 
				
			||||||
							
								
								
									
										30
									
								
								Birdmap.API/Dockerfile1.original
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								Birdmap.API/Dockerfile1.original
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
				
			|||||||
 | 
					#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
 | 
				
			||||||
 | 
					FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					EXPOSE 80
 | 
				
			||||||
 | 
					EXPOSE 443
 | 
				
			||||||
 | 
					RUN curl -sL https://deb.nodesource.com/setup_10.x |  bash -
 | 
				
			||||||
 | 
					RUN apt-get update
 | 
				
			||||||
 | 
					RUN apt-get install -y nodejs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
 | 
				
			||||||
 | 
					RUN curl -sL https://deb.nodesource.com/setup_10.x |  bash -
 | 
				
			||||||
 | 
					RUN apt-get update
 | 
				
			||||||
 | 
					RUN apt-get install -y nodejs
 | 
				
			||||||
 | 
					WORKDIR /src
 | 
				
			||||||
 | 
					COPY ["Birdmap.API/Birdmap.API.csproj", "Birdmap.API/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.BLL/Birdmap.BLL.csproj", "Birdmap.BLL/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.Common/Birdmap.Common.csproj", "Birdmap.Common/"]
 | 
				
			||||||
 | 
					COPY ["Birdmap.DAL/Birdmap.DAL.csproj", "Birdmap.DAL/"]
 | 
				
			||||||
 | 
					RUN dotnet restore "Birdmap.API/Birdmap.API.csproj"
 | 
				
			||||||
 | 
					COPY . .
 | 
				
			||||||
 | 
					WORKDIR "/src/Birdmap.API"
 | 
				
			||||||
 | 
					RUN dotnet build "Birdmap.API.csproj" -c Release -o /app/build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM build AS publish
 | 
				
			||||||
 | 
					RUN dotnet publish "Birdmap.API.csproj" -c Release -o /app/publish
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM base AS final
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					COPY --from=publish /app/publish .
 | 
				
			||||||
 | 
					ENTRYPOINT ["dotnet", "Birdmap.API.dll"]
 | 
				
			||||||
@@ -20,6 +20,12 @@ namespace Birdmap.API
 | 
				
			|||||||
                logger.Debug("Building host...");
 | 
					                logger.Debug("Building host...");
 | 
				
			||||||
                var host = CreateHostBuilder(args).Build();
 | 
					                var host = CreateHostBuilder(args).Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                using (var scope = host.Services.CreateScope())
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var db = scope.ServiceProvider.GetRequiredService<BirdmapContext>();
 | 
				
			||||||
 | 
					                    db.Database.EnsureCreated();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                logger.Debug("Seeding database...");
 | 
					                logger.Debug("Seeding database...");
 | 
				
			||||||
                SeedDatabase(host);
 | 
					                SeedDatabase(host);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "iisSettings": {
 | 
					  "iisSettings": {
 | 
				
			||||||
    "windowsAuthentication": false,
 | 
					    "windowsAuthentication": false,
 | 
				
			||||||
    "anonymousAuthentication": true,
 | 
					    "anonymousAuthentication": true,
 | 
				
			||||||
@@ -18,10 +18,17 @@
 | 
				
			|||||||
    "Birdmap": {
 | 
					    "Birdmap": {
 | 
				
			||||||
      "commandName": "Project",
 | 
					      "commandName": "Project",
 | 
				
			||||||
      "launchBrowser": true,
 | 
					      "launchBrowser": true,
 | 
				
			||||||
      "applicationUrl": "https://localhost:5001;http://localhost:5000",
 | 
					 | 
				
			||||||
      "environmentVariables": {
 | 
					      "environmentVariables": {
 | 
				
			||||||
        "ASPNETCORE_ENVIRONMENT": "Development"
 | 
					        "ASPNETCORE_ENVIRONMENT": "Development"
 | 
				
			||||||
      }
 | 
					      },
 | 
				
			||||||
 | 
					      "applicationUrl": "https://localhost:5001;http://localhost:5000"
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "Docker": {
 | 
				
			||||||
 | 
					      "commandName": "Docker",
 | 
				
			||||||
 | 
					      "launchBrowser": true,
 | 
				
			||||||
 | 
					      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
 | 
				
			||||||
 | 
					      "publishAllPorts": true,
 | 
				
			||||||
 | 
					      "useSSL": true
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -117,7 +117,7 @@ namespace Birdmap.API.Services.Mqtt
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        public async Task HandleDisconnectedAsync(MqttClientDisconnectedEventArgs eventArgs)
 | 
					        public async Task HandleDisconnectedAsync(MqttClientDisconnectedEventArgs eventArgs)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _logger.LogWarning(eventArgs.Exception, $"Disconnected. Reason {eventArgs.ReasonCode}. Auth result: {eventArgs.AuthenticateResult}. Reconnecting...");
 | 
					            _logger.LogDebug(eventArgs.Exception, $"Disconnected. Reason {eventArgs.ReasonCode}. Auth result: {eventArgs.AuthenticateResult}. Reconnecting...");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            await Task.Delay(TimeSpan.FromSeconds(5));
 | 
					            await Task.Delay(TimeSpan.FromSeconds(5));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -128,7 +128,7 @@ namespace Birdmap.API.Services.Mqtt
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
            catch (Exception ex)
 | 
					            catch (Exception ex)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                _logger.LogError(ex, $"Reconnect failed...");
 | 
					                _logger.LogDebug(ex, $"Reconnect failed...");
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,8 @@
 | 
				
			|||||||
  "AllowedHosts": "*",
 | 
					  "AllowedHosts": "*",
 | 
				
			||||||
  "Secret": "7vj.3KW.hYE!}4u6",
 | 
					  "Secret": "7vj.3KW.hYE!}4u6",
 | 
				
			||||||
  // "LocalDbConnectionString": "Data Source=DESKTOP-3600\\SQLEXPRESS;Initial Catalog=birdmap;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
 | 
					  // "LocalDbConnectionString": "Data Source=DESKTOP-3600\\SQLEXPRESS;Initial Catalog=birdmap;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
 | 
				
			||||||
  "LocalDbConnectionString": "Data Source=DESKTOP-3600;Initial Catalog=birdmap;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
 | 
					  //"LocalDbConnectionString": "Data Source=DESKTOP-3600;Initial Catalog=birdmap;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
 | 
				
			||||||
 | 
					  "LocalDbConnectionString": "Data Source=db;Initial Catalog=master;User=sa;Password=asdfjkl-123",
 | 
				
			||||||
  "Defaults": {
 | 
					  "Defaults": {
 | 
				
			||||||
    "Services": {
 | 
					    "Services": {
 | 
				
			||||||
      "Local Database": "https://localhost:44331/health",
 | 
					      "Local Database": "https://localhost:44331/health",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,6 +13,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Birdmap.Common", "Birdmap.C
 | 
				
			|||||||
EndProject
 | 
					EndProject
 | 
				
			||||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MQTTnet.TestApp.WinForm", "MQTTnet.TestApp.WinForm\MQTTnet.TestApp.WinForm.csproj", "{E1707FE7-4A65-42AC-B71C-6CC1A55FC42A}"
 | 
					Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MQTTnet.TestApp.WinForm", "MQTTnet.TestApp.WinForm\MQTTnet.TestApp.WinForm.csproj", "{E1707FE7-4A65-42AC-B71C-6CC1A55FC42A}"
 | 
				
			||||||
EndProject
 | 
					EndProject
 | 
				
			||||||
 | 
					Project("{E53339B2-1760-4266-BCC7-CA923CBCF16C}") = "docker-compose", "docker-compose.dcproj", "{9443433B-1D13-41F0-B345-B36ACD15EF81}"
 | 
				
			||||||
 | 
					EndProject
 | 
				
			||||||
Global
 | 
					Global
 | 
				
			||||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
						GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
				
			||||||
		Debug|Any CPU = Debug|Any CPU
 | 
							Debug|Any CPU = Debug|Any CPU
 | 
				
			||||||
@@ -39,6 +41,10 @@ Global
 | 
				
			|||||||
		{E1707FE7-4A65-42AC-B71C-6CC1A55FC42A}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
							{E1707FE7-4A65-42AC-B71C-6CC1A55FC42A}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
				
			||||||
		{E1707FE7-4A65-42AC-B71C-6CC1A55FC42A}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
							{E1707FE7-4A65-42AC-B71C-6CC1A55FC42A}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
				
			||||||
		{E1707FE7-4A65-42AC-B71C-6CC1A55FC42A}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
							{E1707FE7-4A65-42AC-B71C-6CC1A55FC42A}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
				
			||||||
 | 
							{9443433B-1D13-41F0-B345-B36ACD15EF81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
				
			||||||
 | 
							{9443433B-1D13-41F0-B345-B36ACD15EF81}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
				
			||||||
 | 
							{9443433B-1D13-41F0-B345-B36ACD15EF81}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
				
			||||||
 | 
							{9443433B-1D13-41F0-B345-B36ACD15EF81}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
				
			||||||
	EndGlobalSection
 | 
						EndGlobalSection
 | 
				
			||||||
	GlobalSection(SolutionProperties) = preSolution
 | 
						GlobalSection(SolutionProperties) = preSolution
 | 
				
			||||||
		HideSolutionNode = FALSE
 | 
							HideSolutionNode = FALSE
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										22
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					# https://hub.docker.com/_/microsoft-dotnet
 | 
				
			||||||
 | 
					FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					EXPOSE 80
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN curl --silent --location https://deb.nodesource.com/setup_10.x | bash -
 | 
				
			||||||
 | 
					RUN apt-get install --yes nodejs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# copy csproj and restore as distinct layers
 | 
				
			||||||
 | 
					WORKDIR /src
 | 
				
			||||||
 | 
					COPY . .
 | 
				
			||||||
 | 
					RUN dotnet restore "Birdmap.API/Birdmap.API.csproj"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# copy everything else and build app
 | 
				
			||||||
 | 
					RUN dotnet publish "Birdmap.API/Birdmap.API.csproj" -c Release -o /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# final stage/image
 | 
				
			||||||
 | 
					FROM mcr.microsoft.com/dotnet/aspnet:5.0
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					COPY --from=build /app .
 | 
				
			||||||
 | 
					ENTRYPOINT ["dotnet", "Birdmap.API.dll"]
 | 
				
			||||||
							
								
								
									
										18
									
								
								docker-compose.dcproj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								docker-compose.dcproj
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<Project ToolsVersion="15.0" Sdk="Microsoft.Docker.Sdk">
 | 
				
			||||||
 | 
					  <PropertyGroup Label="Globals">
 | 
				
			||||||
 | 
					    <ProjectVersion>2.1</ProjectVersion>
 | 
				
			||||||
 | 
					    <DockerTargetOS>Linux</DockerTargetOS>
 | 
				
			||||||
 | 
					    <ProjectGuid>9443433b-1d13-41f0-b345-b36acd15ef81</ProjectGuid>
 | 
				
			||||||
 | 
					    <DockerLaunchAction>LaunchBrowser</DockerLaunchAction>
 | 
				
			||||||
 | 
					    <DockerServiceUrl>{Scheme}://localhost:{ServicePort}</DockerServiceUrl>
 | 
				
			||||||
 | 
					    <DockerServiceName>birdmap.api</DockerServiceName>
 | 
				
			||||||
 | 
					  </PropertyGroup>
 | 
				
			||||||
 | 
					  <ItemGroup>
 | 
				
			||||||
 | 
					    <None Include="docker-compose.override.yml">
 | 
				
			||||||
 | 
					      <DependentUpon>docker-compose.yml</DependentUpon>
 | 
				
			||||||
 | 
					    </None>
 | 
				
			||||||
 | 
					    <None Include="docker-compose.yml" />
 | 
				
			||||||
 | 
					    <None Include=".dockerignore" />
 | 
				
			||||||
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					</Project>
 | 
				
			||||||
							
								
								
									
										13
									
								
								docker-compose.override.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								docker-compose.override.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					version: '3.4'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  birdmap.api:
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - ASPNETCORE_ENVIRONMENT=Development
 | 
				
			||||||
 | 
					      - ASPNETCORE_URLS=https://+:443;http://+:80
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - "80"
 | 
				
			||||||
 | 
					      - "443"
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
 | 
				
			||||||
 | 
					      - ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
 | 
				
			||||||
							
								
								
									
										21
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					version: '3.4'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					    db:
 | 
				
			||||||
 | 
					        image: "mcr.microsoft.com/mssql/server:2017-latest"
 | 
				
			||||||
 | 
					        environment:
 | 
				
			||||||
 | 
					          - ACCEPT_EULA=Y
 | 
				
			||||||
 | 
					          - SA_PASSWORD=asdfjkl-123
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    birdmap.api:
 | 
				
			||||||
 | 
					        image: ${DOCKER_REGISTRY-}birdmapapi
 | 
				
			||||||
 | 
					        ports:
 | 
				
			||||||
 | 
					            - "8000:80"
 | 
				
			||||||
 | 
					            - "5001:443"
 | 
				
			||||||
 | 
					        build:
 | 
				
			||||||
 | 
					          context: .
 | 
				
			||||||
 | 
					          dockerfile: Birdmap.API/Dockerfile
 | 
				
			||||||
 | 
					        depends_on:
 | 
				
			||||||
 | 
					            - db
 | 
				
			||||||
 | 
					        environment:
 | 
				
			||||||
 | 
					            - ASPNETCORE_URLS=https://+:443;http://+:80
 | 
				
			||||||
		Reference in New Issue
	
	Block a user