Crear un docker con un script

Hola a todos!

Ahora que hemos empezado a hablar de Docker, y ya sabemos los básico sobre su creación y actualización, es hora de empezar a hablar un poco sobre su automatización, en este caso de como crear Docker mediante un script.

Como siempre, aquí haremos una prueba superficial, ya que tenemos gran cantidad de opciones, pero necesitamos ver un ejemplo simple inicial para poder empezar a entender el funcionamiento, y después ir añadiendo nivel de complejidad, artículo a artículo.

Lo primero que haremos será arrancar una consola de PowerShell con privilegios de administrador.

Paara ello podemos hacer clic con el botón derecho en el icono del programa para seleccionar “ejecutar como administrador”, o hacer clic en el icono mientras pulsamos mayúsculas y control.

A continuación pondríamos algo como lo siguiente, pero ojo, como vamos a descargar la imagen, debemos tener salida a internet 😉

Invoque-WebRequest -UseBassicParsing -OutFile docker-17.06.1-ee-2-rc1 https://download.docker.com/components/engine/windows-server/17.06/docker-17.06.1-ee-2-rc1.zip

En la siguiente URL tenemos una lista de las imágenes disponibles:

https://download.docker.com/components/engine/windows-server/index.json

A continuación copiamos la imagen al servidor donde vamos a trabajar con Docker y accedemos a una consola de PowerShell con los privilegios que hemos comentado previamente.

Una vez hecho esto ejecutamos por orden los siguientes comandos.

Primero paramos el servicio de Docker:

Stop-Service docker

Extraemos el archivo del comprimido:

Expand-Archive docker-17.06.1-ee-2-rc1.zip -DestinationPath $Env:ProgramFiles -Force

Eliminamos el fichero comprimido (zip):

Remove-Item -Force docker-17.06.1-ee-2-rc1.zip

Instalamos la funcionalidad de Dockers, pero teniendo en cuenta que tendrá que reiniciar el servidor:

$null = Install-WindowsFeature containers

Añadiremos la funcionalidad de Docker al Path de la misma sesión:

$env:path += “;$env:ProgramFiles\docker”

Si necesitamos que varios usuarios tengan acceso al uso de Docker, necesitaremos que el uso del Path sea extendido a lo largo de distintos usuarios del sistema con el siguiente comando. También podemos ejecutar el comando anterior en aquellos usuarios que necesitamos que tengan a Docker.

$newPath = “$env:ProgramFiles\docker;” +

[Environment]::GetEnvironmentVariable(“PATH”,

[EnvironmentVariableTarget]::Machine)

[Environment]::SetEnvironmentVariable(“PATH”, $newPath,

[EnvironmentVariableTarget]::Machine)

A continuación registramos el demonio de Docker como servicio de Windows:

dockerd –register-service

A continuación arrancamos el servicio de Docker:

Start-Service docker

Con esto ya tenemos todo hecho, al menos en esta parte.

A continuación podemos lanzar el comando de test que es un “hola mundo” tal como hemos comentado en algún otro artículo.

docker container run hello-world:nanoserver

Este comando consiste en una ejecución del comando run de container en el que se lanza el “hello Word” y como salida se da por el NanoServer.

Hemos dicho que esto se podía hacer Script para desplegar automáticamente, para ello deberíamos copiar todo en un archivo de PowerShell y poder ejecutarlo después.

Espero que os resulte útil.

Un saludo

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*