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ó

Següent revisió
Revisió prèvia
linux:docker:masterclass [25/05/2018 04:29] – creat matelinux:docker:masterclass [27/11/2018 07:24] (actual) – [info general] admin
Línia 1: Línia 1:
 = MasterClass Docker = MasterClass Docker
 +{{tag>docker}}
 == info masterclass == info masterclass
-ponente: Dani+ponente: Dani Sanchez <decrypt>U2FsdGVkX1/bo65aAxmidXcqKXcZMeZwmSKTF6KVElQDer9c0K7fmdmujlBWTpFY</decrypt> --> docker user <decrypt>U2FsdGVkX19JO3r1pIy6PbnvUpZf9ti/ehiMS/fZz1I=</decrypt>
  
 +pass:2...s
 == docker == docker
 +=== info general
 3 componentes: 3 componentes:
   * docker daemon   * docker daemon
Línia 9: Línia 12:
   * docker client (la consola que envía comandos al daemon)   * docker client (la consola que envía comandos al daemon)
  
-alpine : lenguaje propio para docker+alpine : <del>lenguaje propio para docker</del>imágenes basadas en distribución linux muy ligera
  
 +=== trabajando con docker
 ''$ docker run httpd -p 80:80 httpd:2.4'' --> mapeando puerto de la red de docker a tu ordenador ''$ docker run httpd -p 80:80 httpd:2.4'' --> mapeando puerto de la red de docker a tu ordenador
 +
 ''$ docker run httpd -P httpd:2.4 ; docker ps'' --> muestra que puertos se están mapeando (por si no sabes que puertos ofrece el contenedor) ''$ docker run httpd -P httpd:2.4 ; docker ps'' --> muestra que puertos se están mapeando (por si no sabes que puertos ofrece el contenedor)
 +
 '' docker run httpd -d -P httpd:2.4'' --> detach (para liberar la consola) '' docker run httpd -d -P httpd:2.4'' --> detach (para liberar la consola)
 +
 ''$ docker logs $(docker ps -q)'' --> mirar logs (normalmente se le pasa el ID o nombre del contenedor ''$ docker logs $(docker ps -q)'' --> mirar logs (normalmente se le pasa el ID o nombre del contenedor
  
 +vinculación a una carpeta del equipo "host":
 +''$ docker run -d -v /home/dani/workspace:/usr/local/apache2/htdocs -p 80:80 httpd:2.4'' --> vinculación con carpeta local:contenedor
 +
 +''$ docker stop <id>''
 +
 +''$ docker exec -it <id> bash'' --> entrar en el contenedor, en modo interactivo y terminal
 +  * desde aquí dentro podemos hacer cambio, PERO NO TIENEN PERSISTENCIA
 +  * podemos sacar una imagen de un contenedor (con los cambios realizados)
 +  * ''$ docker commit <id> -t <nombre_imagen>''
 +  * ''$ docker tag <id> <nombre>''
 +  * no se suele hacer así, se usa **docker file**
 +
 +=== Dockerfile
 +<code>
 +FROM <imagen> '' descargará si no está
 +COPY index.html /usr/local/apache2/htdocs/
 +</code>
 +''$ docker build -t apache <contexto>'' --> contexto = path (de donde copiará los ficheros)
 +  * por defecto coge el fichero Dockerfile del path actual
 +  * se puede especificar otro fichero con ''-f''
 +
 +a docker se pueden subir todas las imágenes que quieras, gratuitamente.
 +
 +== docker compose
 +para uso local, ejecutar varios contenedores, para desarrollo
 +
 +''docker-compose.iml'', estilo JSON, menos verboso, ejecuta comandos de docker
 +
 +<code>
 +version: '3.2'
 +services:
 +    web:
 +        build: .
 +        ports:
 +        - "5000:5000"
 +    redis:
 +        image: "redis:alpine"
 +</code>
 +
 +=== entornos
 +  * implementación
 +  * pre-producción
 +  * producción
 +  * (Q&A)
 +
 +=== subir
 +  * ''docker login''
  • linux/docker/masterclass.1527247780.txt.gz
  • Darrera modificació: 25/05/2018 04:29
  • per mate