Created
April 9, 2019 17:45
-
-
Save uranio-235/5cdc42bf50f532e2e9997dfcdcb9049f to your computer and use it in GitHub Desktop.
Dockerfile para desplegar aplicaciones de .net core
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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