hacemos uso del MultiStage para la generacion de una imagen de menor tamaño
This commit is contained in:
parent
732270e433
commit
cbb620bcbb
@ -1,5 +1,8 @@
|
||||
FROM microsoft/dotnet:2.2-sdk
|
||||
FROM microsoft/dotnet:2.2-sdk AS build
|
||||
COPY . ./docker-test
|
||||
WORKDIR /docker-test/
|
||||
RUN dotnet build -c Release
|
||||
ENTRYPOINT ["dotnet", "run", "-c", "Release", "--no-build"]
|
||||
RUN dotnet build -c Release -o output
|
||||
|
||||
FROM microsoft/dotnet:2.2-runtime AS runtime
|
||||
COPY --from=build /docker-test/output .
|
||||
ENTRYPOINT ["dotnet", "docker-test.dll"]
|
22
README.md
22
README.md
@ -42,4 +42,24 @@ REPOSITORY TAG IMAGE ID CREATED
|
||||
docker-test latest 8e0d17fcfbbb 2 hours ago 1.74GB
|
||||
```
|
||||
|
||||
1.74 GB que deberia ser utilizada solo para un Hola Mundo !!!
|
||||
1.74 GB que deberia ser utilizada solo para un Hola Mundo !!!, ahora con MultiStage se puede utilizar una imagen para "compilar" y otra imagen para correr la aplicación que por supuesto utiliza mucho menos espacio.
|
||||
|
||||
```
|
||||
FROM microsoft/dotnet:2.2-sdk AS build
|
||||
COPY . ./docker-test
|
||||
WORKDIR /docker-test/
|
||||
RUN dotnet build -c Release -o output
|
||||
|
||||
FROM microsoft/dotnet:2.2-runtime AS runtime
|
||||
COPY --from=build /docker-test/output .
|
||||
ENTRYPOINT ["dotnet", "docker-test.dll"]
|
||||
```
|
||||
|
||||
con esto logramos que la imagen de la aplicacion sea de solo 180 MG
|
||||
|
||||
```
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
<none> <none> 63fb9180b95b 2 minutes ago 180MB
|
||||
```
|
||||
|
||||
Podriamos pensar que 180 MB es mucho para un simple "Hola Mundo", pero considerando que no se requiere nada para poder ejecutar solo Docker, nos olvidamos de ... "en mi maquina funciona".
|
Loading…
x
Reference in New Issue
Block a user