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:
1 2 3 4 5 6 7 8 9 10 11 |
FROM microsoft/iis RUN mkdir C:\site RUN powershell -NoProfile -Command \ Import-module IISAdministration; \ New-IISSite -Name "Site" -PhysicalPath C:\site -BindingInformation "*:8000:" EXPOSE 8000 |
Nos colocamos en la carpeta que tiene el fichero Dockerfile, en este caso D:\Proyectos\Imagenes, y lo ejecutamos:
1 |
docker build –t iis-site . |
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
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 **):
Lanzamos su ejecución:
1 |
PS D:\Proyectos\Proyecto3> docker-compose.exe up -d |
Como podéis observar en la imagen, para trabajar con docker-compose sin errores, deberemos colocarnos en la carpeta del proyecto que queremos lanzar.
Para comprobar si están lanzados “docker ps”:
Y para parar todo el proyecto:
1 |
PS D:\Proyectos\Proyecto3> docker-compose.exe down |
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Un comentario
Pingback: Docker comandos básicos - VMware Citrix Blog