Skip to content

Instantly share code, notes, and snippets.

@uranio-235
Created April 9, 2019 17:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save uranio-235/5cdc42bf50f532e2e9997dfcdcb9049f to your computer and use it in GitHub Desktop.
Save uranio-235/5cdc42bf50f532e2e9997dfcdcb9049f to your computer and use it in GitHub Desktop.
Dockerfile para desplegar aplicaciones de .net core
FROM microsoft/dotnet:sdk AS build-env
# 👆 con la imagen de la SDK
# el FROM debe ser la primera linea siempre
# Exponemos el puerto 80. Pero para que funcione hay que especificarle
# inyectándole la dependencia con el parámetro «.UseUrls(portnumber)»
# public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
# WebHost.CreateDefaultBuilder(args)
# .UseUrls("http://0.0.0.0:80") // <-- añade esta cláusula al Program.cs
# .UseStartup<Startup>();
EXPOSE 80
# muévete para /app
WORKDIR /app
# copia el csproj para aquí y restaura en un layer aparte
COPY *.csproj ./
RUN dotnet restore -v n
# copia la aplicación y compílala
COPY . ./
RUN dotnet publish -c Release -o out
# exporta como volumen, el directorio donde está la base de datos de etecsa
VOLUME ["/app/db"]
# con la imagen del runtime, ejecuta la aplicación
FROM microsoft/dotnet:aspnetcore-runtime
WORKDIR /app
COPY --from=build-env /app/out .
# OJO! recuerda cambiar el nombre de .dll por el de tu proyecto
# arranca! con el nombre de la app, recuerda cambiar el nombre de la .dll
ENTRYPOINT ["dotnet", "NombreDeTuProyecto.dll"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment