Salta el contingut

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:

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 Instal·lació de Docker Instal·lació de Docker Instal·lació de Docker Instal·lació de Docker [![Instal·lació de Docker][Docker004R3]{width=50%}][Docker004R3]{target="_blank"}

i una vegada reiniciat l'ordinador ja tenim Docker instal·lat. Instal·lació de Docker

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

Error: Instal·lació de Docker

El que cal fer és seguir l'enllaç que ens proposa i fer la instal·lació del kernel de Linux al nostre sistema Windows.

Nucli linux Nucli linux

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: Docker i quan l'obrim ja ens apareix

Docker

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

Docker

i veurem que acceptem connexions pel port 8000, mapejat al port 3000 del contenidor.

Docker

Si obrim un navegador i accedim a http://localhost:8000 hem de veure una imatge semblant a

Docker

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 ...

Tenim la imatge generada localment anomenada welcome-to-docker
docker images
REPOSITORY          TAG       IMAGE ID       CREATED          SIZE
welcome-to-docker   latest    c2133a3a4f26   19 minutes ago   230MB
la iniciem, creant un nou contenidor
docker run --name benvingut -d -p 8000:3000 welcome-to-docker
5cdb364ce1bdf075bdb901f4b91eff6ae1d156e7337dfc4e8c52a9e6e73495e7
comprovem que està iniciat i que el seu nom és benvingut
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

Docker

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.

Accés al tutorial avançat