diff --git a/.gitignore b/.gitignore index 9ebd30b..78f542e 100644 --- a/.gitignore +++ b/.gitignore @@ -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 + + + diff --git a/README.md b/README.md index 0500289..251339b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,45 @@ # DockerMultiStage -Poder optimizar el tamaño de las imágenes de los contenedores para aplicaciones realizadas en Dot Net Core. \ No newline at end of file +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 !!! \ No newline at end of file