Primer DockerFile haciendo uso de dotnet 2.2-sdk

This commit is contained in:
Jose Pino 2018-12-27 11:35:02 -03:00
parent 878674d980
commit 4cdda48a87
2 changed files with 54 additions and 6 deletions

16
.gitignore vendored
View File

@ -1,7 +1,13 @@
# ---> VisualStudioCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.vscode
obj
bin
#.vscode/*
#!.vscode/settings.json
#!.vscode/tasks.json
#!.vscode/launch.json
#!.vscode/extensions.json

View File

@ -1,3 +1,45 @@
# DockerMultiStage
Poder optimizar el tamaño de las imágenes de los contenedores para aplicaciones realizadas en Dot Net Core.
Poder optimizar el tamaño de las imágenes de los contenedores para aplicaciones realizadas en Dot Net Core.
Para comenzar creamos una simple aplicacion de consola "Hola Mundo".
...
$ dotnet new console
...
Para crear la imagen de esta aplicacion en Docker utilizamos el siguiente DockerFile:
...
FROM microsoft/dotnet:2.2-sdk
COPY . ./docker-test
WORKDIR /docker-test/
RUN dotnet build -c Release
ENTRYPOINT ["dotnet", "run", "-c", "Release", "--no-build"]
...
Veamos linea a linea lo que se realiza aca.
En primer lugar utilizamos como imagen base la version que contine el sdk de DotNet Core 2.2 [https://hub.docker.com/r/microsoft/dotnet] como debemos compilar nuestra aplicación.
Luego con "COPY . ./docker-test" copiamos nuestro codigo a la imagen de docker.
Nos posicionamos donde esta el codigo de nuestra aplicación.
Finalmente definimos como se debe iniciar nuestra aplicación.
Ahora creamos nuestra imagen con nombre docker-test
...
$ docker build -t docker-test .
...
Si no tenemos la imagen base este proceso va tardar unos minutos dado que debe descargarla y luego genera nuestra imagen.
si vemos que tenemos como imagenes con : docker images
...
REPOSITORY TAG IMAGE ID CREATED SIZE
docker-test latest 8e0d17fcfbbb 2 hours ago 1.74GB
...
1.74 GB que deberia ser utilizada solo para un Hola Mundo !!!