Docker en Windows
Informació extreta de Comentaris sobre Docker.
Docker en Windows?
"Però escolta, ¿no deien que Docker només funcionava en Linux?". Bé, si revisem els orígens de Docker és cert, es va iniciar com a projecte sota nucli Linux, però ara ja no. Microsoft no volia quedar-se fora d'aquesta tecnologia i arriba a un acord amb Docker el 2015 per convertir-se en partner oficial i d'aquesta manera, incorporar aquesta tecnologia als seus sistemes operatius Windows Server 2016 i Windows 10 (encara que no en totes les versions està suportat).
Realment, no és res de nou utilitzar Docker en Windows. De fet, podem fer funcionar Docker en Windows 7 i Windows 8 fent servir VirtualBox, la novetat ara és que podem utilitzar Docker de forma nativa a partir de Windows 10 sense necessitat d'altres eines com Docker ToolBox.
Si volem instal·lar Docker hem de complir certs requisits en Windows 10:
-
WSL versió 1.1.3.0 o superior.
-
Windows 11 64-bit: Home o Pro versió 21H2 o superior, o Enterprise o Education versió 21H2 o superior.
-
Windows 10 64-bit:
-
Es recomana Home o Pro 22H2 (build 19045) o superior, o Enterprise o Education 22H2 (build 19045) o superior.
-
Requeriments mínims: Home o Pro versió 21H2 (build 19044) o superior, o Enterprise o Education 21H2 (build 19044) o superior.
-
-
Activar la característica WSL 2 a Windows.
-
El següent hardware:
-
processador de 64 bit amb SLAT (Second Level Address Translation)
-
4GB de RAM
-
habilitar la virtualització per hardware a la BIOS.
-
Instal·lació
El procés d'instal·lació és molt senzill: el descarreguem de pàgina de descàrrega de Docker amb explicacions i prémer el botó de Docker Desktop for Windows - x86_64. (En el moment de fer aquest tutorial m'he trobat la versió 4.33.1 per a windows).
Iniciem el fitxer d'instal·lació i ...
[![Instal·lació de Docker][Docker004R3]{width=50%}][Docker004R3]{target="_blank"}
i una vegada reiniciat l'ordinador ja tenim Docker instal·lat.
I si falla?
És possible que ens falti instal·lar el kernel de Linux al nostre windows. En aquest cas ens sortirà una imatge semblant a
El que cal fer és seguir l'enllaç que ens proposa i fer la instal·lació del kernel de Linux al nostre sistema Windows.
En Windows Home potser ...
És possible que ens falti instal·lar el kernel de Linux al nostre windows. En aquest cas podem anar a la consola i executar les següents comandes:
wsl -l -o
wsl --install -d Ubuntu
wsl --set-version Ubuntu 2
wsl --update (aquesta com administrador)
La primera ens mostra les distribucions de Linux per instal·lar al nostre PC i la segona instal·la el kernel del Linux. Com que segurament haurem instal·lat la versió 1 de wsl cal actualitzar a wsl2; això ho fan les dues darreres línies.
Iniciem la primera màquina
Una vegada instal·lat i reiniciat el necessari observarem una nova icona, del Docker, al costat del rellotge:
i quan l'obrim ja ens apareix
Per iniciar una primera màquina, cal saber que el que hem d'iniciar és un contenidor, que es basa en una imatge.
Si seguim el petit tutorial How do i run a container, cal tenir git instal·lat ja que cal descarregar el contingut d'un repositori, executarem:
git clone https://github.com/docker/welcome-to-docker
cd welcome-to-docker
dir
type Dockerfile
docker build -t welcome-to-docker .
Fins aquí hem creat una imatge local, a partir d'una imatge d'internet node:18-alpine
. A la imatge d'internet li hem fet algunes modificacions ii l'hem guardada en local amb el nom welcome-to-docker
. Entre altres opcions, veiem que s'exposa el port 3000.
Si executem la comanda
docker images
veurem que realment, tenim una imatge en local, amb un identificador (cadascú un de diferent, aquí mostra el c2133a3a4f26
)
REPOSITORY TAG IMAGE ID CREATED SIZE
welcome-to-docker latest c2133a3a4f26 56 seconds ago 230MB
Podem iniciar-lo seguin les passes amb les següents opcions
i veurem que acceptem connexions pel port 8000, mapejat al port 3000 del contenidor.
Si obrim un navegador i accedim a http://localhost:8000 hem de veure una imatge semblant a
Ara aturarem el contenidor, l'eliminarem i farem el mateix en mode comanda. Per eliminarel contenidor, ho farem de forma gràfica. No explicarem com, és prou intuitiu.
Podem iniciar el contenidor des del mode comanda de la següent forma ...
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
welcome-to-docker latest c2133a3a4f26 19 minutes ago 230MB
docker run --name benvingut -d -p 8000:3000 welcome-to-docker
5cdb364ce1bdf075bdb901f4b91eff6ae1d156e7337dfc4e8c52a9e6e73495e7
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5cdb364ce1bd welcome-to-docker "docker-entrypoint.s…" 11 seconds ago Up 9 seconds 0.0.0.0:8000->3000/tcp benvingut
Ja tenim màquina iniciada
i això sense necessitat d'utilitzar cap altra eina com ara el VirtualBox. Aquesta màquina veiem que té obert el port 3000 (http) i redirigit al nostre port 8000 (http). Ara podem accedir a http://localhost:8000 i accedirem al servidor iniciat que no és més que una benvinguda.
Per aturar el contenidor utilitzarem docker stop ...
i si volem iniciar el mateix contenidor, l'iniciarem amb `#!doscon docker start ..."
Normalment els contenidors es creen a l'iniciar-se i es destrueixen al aturar-se
Nosaltres mirarem de treballar amb el mateix contenidor, iniciant-lo i aturant-lo, per tal de poder posar-hi els nostres serveis i els nostres sites.
Port 8000
Compte, utilitza el port 8000 per tant no hem de tenir-lo ocupat amb cap altre servei.
A partir d'aquí, ja explorarem altres opcion i teniu la opció de seguir el tutorial.