bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


docker

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
docker [2022/07/29 07:42]
federico_jerez_jimenez-ortiz
docker [2023/06/27 14:25] (actual)
enric_mieza_sanchez [Docker pràctic]
Línia 4: Línia 4:
  
 {{ docker-logo-1.png?direct&300 }} {{ docker-logo-1.png?direct&300 }}
 +
 +Articles relacionats:
 +  * Anterior: [[docker_pres]]
 +  * Següent: [[docker-compose]]
 +
  
 Altres articles sobre Docker a aquesta wiki: Altres articles sobre Docker a aquesta wiki:
Línia 12: Línia 17:
  
 ===== Instal·lació ===== ===== Instal·lació =====
-Sobre Ubuntu és més fàcil treballar. Pots crear una VM Ubuntu amb [[Vagrant]] fàcilment amb:+Es recomana treballar sobre Ubuntués més fàcil en general. 
 + 
 +<tabbox Ubuntu Linux> 
 +En Ubuntu Linux podem instal·lar fàcilment la versió que hi ha als repositoris: 
 +  $ sudo apt update 
 +  $ sudo apt install docker.io 
 + 
 +<tabbox VM Ubuntu amb Vagrant> 
 +Pots crear una VM Ubuntu amb [[Vagrant]] fàcilment amb:
   $ mkdir ubudocker   $ mkdir ubudocker
   $ cd ubudocker   $ cd ubudocker
-  $ vagrant init ubuntu/focal64+  $ vagrant init ubuntu/jammy64
  
 Edita el ''Vagrantfile'' i activa la xarxa externa per fer-lo accessible per xarxa. Descomenta la línia: Edita el ''Vagrantfile'' i activa la xarxa externa per fer-lo accessible per xarxa. Descomenta la línia:
Línia 24: Línia 37:
   $ vagrant ssh   $ vagrant ssh
  
-Un cop arrencada la màquinapodem fer: +<tabbox Windows Pro amb WSL> 
-  $ sudo apt update +Podem treballar com si fos un Ubuntu si instal·lem el WSL (Windows Subsystem for Linux). 
-  $ sudo apt install docker.io+ 
 +Obriu un CMD amb permisos d'administrador i excecuteu: 
 +  > wsl --install 
 + 
 +Quan finalitzi la instal·lació cal fer un reinici iper defecte, tindràs una Ubuntu Linux instal·lada en el sistema. Cerca l'aplicació "Ubuntu" i se t'obrirà una //shell// de Linux. 
 + 
 +Pots treballar com amb la versió Ubuntu. **Consulta la pestanya d'Ubuntu per fer la instal·lació**. 
 + 
 +Només amb una diferència: per poder executar el //dockerd// caldrà que obris una //shell// de Ubuntu a part i executis
 +  $ sudo dockerd 
 + 
 +Obre una altra //shell// Ubuntu per llençar les comandes, com per exemple: 
 +  $ docker ps
  
-Per no haver de fer ''sudo'' afegim l'usuari al grup ''docker'':+</tabbox> 
 + 
 + 
 +A les versions GNU/Linux, per no haver de fer ''sudo'' per les comandes ''docker'' afegim el nostre usuari al grup ''docker'':
   $ sudo adduser myuser docker   $ sudo adduser myuser docker
  
 I també afegim l'eina Byobu per a millora de la shell que ens serà pràctic: I també afegim l'eina Byobu per a millora de la shell que ens serà pràctic:
   $ sudo apt install byobu   $ sudo apt install byobu
-  $ byobu-install+  $ byobu-enable
  
 Caldrà sortir i entrar a la sessió gràfica o a la //shell// perquè el canvi de grup ''docker'' prengui efecte. Caldrà sortir i entrar a la sessió gràfica o a la //shell// perquè el canvi de grup ''docker'' prengui efecte.
 +
  
 \\ \\
Línia 174: Línia 203:
   * Llegeix la documentació del Docker oficial de MariaDB al Docker Hub:   * Llegeix la documentació del Docker oficial de MariaDB al Docker Hub:
     * https://hub.docker.com/_/mariadb     * https://hub.docker.com/_/mariadb
-  * Posa en marxa un Docker de MariaDB que sigui accessible des de tot arreu+  * Posa en marxa un Docker de MariaDB i publica el port 3306 intern al 33006 extern (màquina host)
-    * Al publicar el port, si poses ''-p 127.0.0.1:3306'' serà accessible només des de ''localhost'', pel que cal eliminar la IP o posar 0.0.0.0 perquè tingui accés universal. +    * ''docker run ... -p 33006:3306 mariadb:latest'' 
-  * Instal·la el **client** de MariaDB a la màquina //host// i connecta't via CLI.+  * Instal·la el **client** de MariaDB a la màquina //host// i connecta't via CLI a través del port local 33006: 
 +    * ''mysql -u myuser -pmypass -h 127.0.0.1 -P 33006''
   * Crea una BD i una taula a dins amb algun registre.   * Crea una BD i una taula a dins amb algun registre.
   * Surt del CLI de Mariadb.   * Surt del CLI de Mariadb.
Línia 226: Línia 256:
   $ docker network create net1   $ docker network create net1
   $ docker run --name www1 --net net1 -d httpd   $ docker run --name www1 --net net1 -d httpd
-   
-   
- ===== Alternativa a Docker: Podman ===== 
  
-{{ :podman.svg |}}+\\
  
-Podman és una eina lliure molt semblant a docker, però no fa servir cap dimoni del sistema i està disponible tant per a root com per a la resta d'usuarisPots trobar una petita introdcció a la seva web:+===== Continuació ===== 
 +El tema Docker continua [[docker-compose]].
  
-[[https://podman.io/whatis.html]]+\\
  
-Pots verificar si tens instal.lat podman al teu sistema: +===== Alternatives Docker ===== 
- +Podeu veure l'article sobre [[Podman]].
-$ podman --version +
- +
-En el cas dels repositoris oficials d'//Ubuntu 22.04//, la versió és la 3.4.4. Si no la tens instal.lada, pots fer-ho amb apt: +
- +
-$ sudo apt install podman +
- +
-======  +
-Fem un contenidor amb un servidor web Apache ====== +
- +
- +
-Veurem que el funcionament és molt similar docker, creant contenidors a partir d'imatges disponibles. +
- +
-Per crear un contenidor de Apache amb podman podem fer: +
- +
-**$ podman run -dt -p 8080:80/tcp docker.io/library/httpd** +
- +
-===== Trying to pull docker.io/library/httpd:latest... +
-Getting image source signatures +
-Copying blob d6bc17b4451a done   +
-Copying blob 72dcd3e40e39 done   +
-Copying blob 461246efe0a7 done   +
-Copying blob c332ae8365a7 done   +
-Copying blob 97f4b88189d8 done   +
-Copying config 444f7df01c done   +
-Writing manifest to image destination +
-Storing signatures +
-**f800758db2516c6d499e3c3661d79da8732a537d14d8debd9e38ec41db948f40** ===== +
- +
- +
-El paràmetre -dt ens permet executar la comanda en segon pla.  +
-El hash retornat final és l'identificador del contenidor. +
- +
-Ara ves a l'exercici 4.3 per fer les comprovacions pertinents. +
- +
- +
- +
- +
- +
-==== Exercici 4.1 ==== +
-<WRAP todo> +
-  * Crea 2 màquines a la xarxa ''default'' (sense fer --net) i comprova: +
-    * Es poden fer ''ping'' per IP? i per nom? +
-  * Crea 2 màquines mes a la mateixa xarxa default, però amb ''--link'' a les altres màquines anteriors. +
-    * Poden fer ping per nom? +
-    * A totes les màquines o només a algunes? +
-</WRAP> +
- +
-==== Exercici 4.2 ==== +
-<WRAP todo> +
-  * Crea 2 xarxes i 3 contenidors dins de cadascuna d'elles. +
-  * Comprova que es poden fer **ping per nom** entre les màquines d'una mateixa xarxa. +
-  * Comprova que no es poden fer ping amb les de l'altra xarxa (ni per nom, ni per IP). +
-  * Quins rangs d'IP tenen les màquines que has creat? +
-</WRAP> +
- +
-==== Exercici 4.3 ==== +
-<WRAP todo> +
-  * Un cop creat el contenidor de Apache amb Podman, explora les comandes de podman ps i image list. +
-  * Cerca com aturar i/o reiniciar amb podman aquest contenidor.  +
-</WRAP>+
  
 \\ \\
  
docker.1659080562.txt.gz · Darrera modificació: 2022/07/29 07:42 per federico_jerez_jimenez-ortiz