Diferència entre revisions de la pàgina «Docker»
Línia 19: | Línia 19: | ||
* <nom> és un container prèviament creat (p.ex. "fervent_aryabhata", "drunk_sammet", etc.) | * <nom> és un container prèviament creat (p.ex. "fervent_aryabhata", "drunk_sammet", etc.) | ||
− | + | === Creació de containers === | |
− | |||
Per arrencar una ''shell'' en un '''nou container''' (podem posar qualsevol comanda enlloc de la shell): | Per arrencar una ''shell'' en un '''nou container''' (podem posar qualsevol comanda enlloc de la shell): | ||
$ docker run -ti <img> /bin/bash | $ docker run -ti <img> /bin/bash | ||
Línia 27: | Línia 26: | ||
Per executar una comanda en un container en marxa: | Per executar una comanda en un container en marxa: | ||
$ docer exec <nom> <cmd> | $ docer exec <nom> <cmd> | ||
− | Per arrencar en ''background'' | + | Per arrencar un container en ''background'': |
$ docker start <nom> | $ docker start <nom> | ||
− | + | Parar un container: | |
− | $ docker | + | $ docker stop <nom> |
− | + | ||
− | + | === Gestió de containers === | |
Llistat d'instàncies creades localment (sense -a les que estan en execució): | Llistat d'instàncies creades localment (sense -a les que estan en execució): | ||
$ docker ps -a | $ docker ps -a | ||
Línia 43: | Línia 42: | ||
Per llistar totes les instàncies i eliminar-les: | Per llistar totes les instàncies i eliminar-les: | ||
$ docker ps -aq | xargs docker rm | $ docker ps -aq | xargs docker rm | ||
− | |||
+ | === Gestió d'imatges === | ||
+ | Llistat d'imatges disponibles en local: | ||
+ | $ docker images | ||
+ | Cerca d'imatges al repositori de Docker.com: | ||
+ | $ docker search <cadena> | ||
+ | Crear una nova imatge binària: | ||
+ | $ docker build <nom:versió> <path-to-Dockerfile> | ||
<br> | <br> |
Revisió del 15:59, 19 juny 2016
Docker és una plataforma de contenidors, una alternativa interessant a la virtualització. Un contenidor comparteix el kernel del sistema operatiu però disposa dels seus propis recursos de sistema de fitxers (similar a un chroot), espai de memòria i temps de microprocessador.
Contingut
Conceptes bàsics
Imatge: sistema base del què partim per crear nous containers. No son més que un seguit d'arxius dels què disposarà el container quan es posi en marxa. Per crear una imatge podem fer-ho de diverses formes:
- Descarregar-la de Docker Hub (docker.com) amb docker run <img:versio> (si no la tenim la descarregarà automàticament).
- Generar-la amb un Dockerfile a partir d'una imatge prèvia (automated)
- Generar-la de forma binària a partir d'un TAR (serà el sistema d'arxius base)
Container: subsistema que corre comandes o serveis. El generem a partir d'una imatge base.
- El sistema el "bateja" quan l'inicia amb nom i cognom (a l'estil "fervent_aryabhata", "drunk_sammet", etc.).
- El container només està actiu mentre executa alguna comanda o servei, si no, es para.
- Es pot reactivar en background amb un start, i podem attachar-nos o desatachar-nos de la shell que hem obert inicialment.
Quick reference
ULL!
- <img> és una imatge base (p.ex. debian, wordpress, centos, etc.)
- <nom> és un container prèviament creat (p.ex. "fervent_aryabhata", "drunk_sammet", etc.)
Creació de containers
Per arrencar una shell en un nou container (podem posar qualsevol comanda enlloc de la shell):
$ docker run -ti <img> /bin/bash
"-ti" = (t)erminal (i)nteractive
Per executar una comanda en un container en marxa:
$ docer exec <nom> <cmd>
Per arrencar un container en background:
$ docker start <nom>
Parar un container:
$ docker stop <nom>
Gestió de containers
Llistat d'instàncies creades localment (sense -a les que estan en execució):
$ docker ps -a
Per desatachar-nos d'un contenidor sense parar-lo:
CTRL+G+D
Per attachar-nos a un contenidor en marxa:
$ docker attach <nom>
Per eliminar una instància (ull, aquí el nom no és el de la IMG, sinó el què apareix a docker ps, en sistema genera noms automàticament):
$ docker rm <nom>
Per llistar totes les instàncies i eliminar-les:
$ docker ps -aq | xargs docker rm
Gestió d'imatges
Llistat d'imatges disponibles en local:
$ docker images
Cerca d'imatges al repositori de Docker.com:
$ docker search <cadena>
Crear una nova imatge binària:
$ docker build <nom:versió> <path-to-Dockerfile>
Instal·lació
Primeres passes
Crear un Dockerfile
Primera imatge i comparació amb chroot