Diferència entre revisions de la pàgina «Docker»

De Cacauet Wiki
Salta a la navegació Salta a la cerca
Línia 1: Línia 1:
 
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.
 
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.
 +
 +
== 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.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.
 +
 +
<br>
  
 
== Quick reference ==
 
== Quick reference ==
Així, ràpidament... per arrencar una màquina (si no la tens es descarregarà automàticament dels repositoris)
+
ULL!
$ docker run <img:version>
+
* <img> és una imatge base (p.ex. ''debian'', ''wordpress'', ''centos'', etc.)
Per arrencar i accedir a la ''shell'' del nostre contenidor:
+
* <nom> és un container prèviament creat (p.ex. "fervent_aryabhata", "drunk_sammet", etc.)
 +
 
 +
Així, ràpidament...
 +
 
 +
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
 +
"-ti" = (t)erminal (i)nteractive
 +
 +
Per executar una comanda en un container en marxa:
 +
$ docer exec <nom> <cmd>
 
Per arrencar en ''background'' (ull, <nom> no és <img>, es el nom de la instància un cop creada, el sistema ho fa automàticament):
 
Per arrencar en ''background'' (ull, <nom> no és <img>, es el nom de la instància un cop creada, el sistema ho fa automàticament):
 
  $ docker start <nom>
 
  $ docker start <nom>
Línia 16: Línia 37:
 
Per ''desatachar-nos'' d'un contenidor sense parar-lo:
 
Per ''desatachar-nos'' d'un contenidor sense parar-lo:
 
  CTRL+G+D
 
  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):
 
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>
 
  $ docker rm <nom>
 
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
 +
Parar un container:
  
  

Revisió del 15:50, 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.

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

Així, ràpidament...

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 en background (ull, <nom> no és <img>, es el nom de la instància un cop creada, el sistema ho fa automàticament):

$ docker start <nom>

Llistat d'imatges disponibles en local:

$ docker images

Cerca d'imatges al repositori de Docker.com:

$ docker search <cadena>

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

Parar un container:



Instal·lació


Primeres passes


Crear un Dockerfile


Primera imatge i comparació amb chroot