Quantcast
Channel: Blog Virtualizacion
Viewing all articles
Browse latest Browse all 679

Dockerfile y Docker Compose

$
0
0

Dockerfile y Docker Compose

En el mundo de los dockers existen formas de automatizar o generar acciones repetidas teniéndolas preprogramadas. Eso qué significa, que podemos trabajar un fichero base, por ejemplo, un docker con IIS que nos servirá para múltiples proyectos. Os mostramos dos opciones Dockerfile y Docker Compose, basándonos en las últimas entradas con Windows Server 2016 como base de host.

CREAR IMAGEN PERSONALIZADA CON DOCKERFILE

Se ha generado un ejemplo de Dockerfile para IIS, donde se genera un site en C:\site para el puerto 8000. Esto se hace así porque c:\inetpub\wwwroot da problemas de permisos:

<strong>FROM microsoft/iis</strong>

<strong>RUN mkdir C:\site</strong>

<strong>RUN powershell -NoProfile -Command \</strong>

<strong>    Import-module IISAdministration; \</strong>

<strong>    New-IISSite -Name "Site" -PhysicalPath C:\site -BindingInformation "*:8000:"</strong>

<strong>EXPOSE 8000</strong>

Nos colocamos en la carpeta que tiene el fichero Dockerfile, en este caso D:\Proyectos\Imagenes, y lo ejecutamos:

<strong>docker build –t iis-site .</strong>

DOCKER-COMPOSE Y FICHERO YML

Como ya hemos generado una imagen con dockerfile, que va a incluir IIS + SQL Express, vamos a automatizar la creación de proyectos con un fichero YML.

El ejemplo que hemos creado enlace IIS con SQL Express, colocando el docker en la red NAT. NO UTILIZAR TABULADORES, SOLO ESPACIOS:

version: '2.1'

services:

   db01:

        image: microsoft/mssql-server-windows-express

        volumes:

             - D:\Proyectos\Proyecto1\volumes\db01:c:\site

        environment:

             sa_password: "password2017"

             ACCEPT_EULA: Y

        ports:

            - "1433:1433" # REMARK: This is currently required, needs investigation

 

   iis01:

        image: iis-site

        depends_on:

             - db01

        volumes:

             - D:\Proyectos\Proyecto1\volumes\iis01:c:\site

        ports:

             - "8010:80"

 

networks:

  default:

    external:

      name: nat

Una vez que tenemos el fichero YML preparado en la carpeta del Proyecto (** CADA PROYECTO SE MODIFICARÁ LOS PUERTOS EXPUESTOS **):

Dockerfile y Docker Compose 1

Lanzamos su ejecución:

PS D:\Proyectos\Proyecto3&gt; docker-compose.exe up -d

Dockerfile y Docker Compose 2

Como podéis observar en la imagen, para trabajar con docker-compose sin errores, deberemos colocarnos en la carpeta del proyecto que queremos lanzar.

Dockerfile y Docker Compose 3

Para comprobar si están lanzados “docker ps”:

Dockerfile y Docker Compose 4

Y para parar todo el proyecto:

PS D:\Proyectos\Proyecto3&gt; docker-compose.exe down

Dockerfile y Docker Compose 5

La entrada Dockerfile y Docker Compose aparece primero en VMware Blog.


Viewing all articles
Browse latest Browse all 679