aspnet-template/Dockerfile

40 lines
1.1 KiB
Docker
Raw Normal View History

2025-01-24 11:47:03 +00:00
FROM mcr.microsoft.com/dotnet/sdk:9.0
#
# Dockerfile para DESARROLLO. Te da acceso a un shell,
# desde el cual se ejecuta la aplicacion, crean migraciones,
# actualiza la base de datos, etc.
#
#
# Configurar docker para ejecutarse como el usuario,
# no como root
#
ARG USER_ID
ARG GROUP_ID
RUN addgroup --gid $GROUP_ID developer && \
adduser --disabled-password --gecos '' --uid $USER_ID --gid $GROUP_ID developer && \
mkdir -p /app && \
chown developer:developer /app
# Utilizar la carpeta /app dentro del contenedor
2025-01-24 11:47:03 +00:00
WORKDIR /app
USER developer
2025-01-24 11:47:03 +00:00
# Instalar y configurar dotnet entity framework:
# El ORM para aspnet
2025-01-24 11:47:03 +00:00
RUN dotnet tool install --global dotnet-ef
ENV PATH="${PATH}:/home/developer/.dotnet/tools"
2025-01-24 11:47:03 +00:00
# Configurar puertos para desarrollo
2025-01-24 11:47:03 +00:00
ENV ASPNETCORE_URLS=http://+:5233
ENV ASPNETCORE_ENVIRONMENT=Development
# Script para iniciar el servidor de desarrollo de dotnet
RUN echo '#!/bin/bash\n\
dotnet watch run --no-launch-profile &\n\
/bin/bash' > /home/developer/entrypoint.sh && \
chmod +x /home/developer/entrypoint.sh
2025-01-24 11:47:03 +00:00
ENTRYPOINT ["/home/developer/entrypoint.sh"]