SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 1
++++++++++++++++++++++++ CONTENEDORES (dockers) ++++++++++++++++++++++++++
-Que son los dockers?
-Diferencias entre dockers vs Máquinas Virtuales
-Arquitectura de los dockers
-Tendencias y principales aplicaciones
-Que se necesita para utilizar estas tecnologías?
-docker101
- instalación
- comandos básicos
- repositorios docker
- dockers vs images
-- docker-hello-world
-docker102 - implementación de BD en dockers
-- MySQL Server o PostgreSQL en docker
-- Como acceder a la BD del docker desde una interfaz como MySQLworkbench
o pgAdmin?
--- Referencias --------------------------------------------------------------
Docker Commands
https://dzone.com/articles/docker-command-cheatsheet
Play with Docker Classroom
https://training.play-with-docker.com/
https://training.play-with-docker.com/ops-s1-hello/
Hello world y basic Linux Alpine
Tutorial - Docker Quickstart
https://linuxacademy.com/devops/training/course/name/docker-quick-start
BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DOCKER 101 - Docker Commands -
https://dzone.com/articles/docker-command-cheatsheet
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- List images:
>docker images
--List running docker processes:
>docker ps
--List all processes that were ever run:
>docker ps -a
--List only the container IDs:
>docker ps -a -q
-- Running processes:
docker run <image>
docker run -d <image> --> run in disconnected / daemon mode
docker run --name="Some Name" --> name the running instance
docker start <name> --> will restart a closed / exited instance of the image
docker exec -it <name> <command> -->run a command within a running container
-- without changing the state of the running container
docker stop <name> --> stop a running container by using the name
-- Cleaning up Docker:
docker rm containerid --> removes an instance of the container that was run
docker rm `docker ps -a -q` --> remove all stopped containers
docker rmi image-name --> removes the docker image and its dependencies
--Redirect port:
docker run -P --> will redirect the container's port to a random port
-- on the host machine's user port (port no 32,000+)
docker run -p 8080:80 --> will redirect the container's port 80 to a port 8080
-- on the host machine's user port
docker port <container-name> --> will list the port mapping information
BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 3
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DOCKER 101 - Tips para usar docker en Windows para configurar servers de BD
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
---------------------------------------------------------
Para windows 10 home
no funciona el más nuevo Docker Windows installer (533 MB) requiere Win10 PRO,
en su lugar se puede usar el dockerToolbox (216MB)
Se descarga el DockerTools
Se instala con doble click
Se corre desde el acceso directo, se abre una terminal y se empieza a
configurar tarda como 3 minutos en configurar, al final queda un PROMPT y
expone una IP que le asigno a una VM, pe.e
192.168.99.100
*** Se puede interactuar con docker en Windows, usando al menos 2 opciones:
1) Usando el Docker QuickstartTerminal,
2) Usando la interfaz gráfica GUI de Kitematic
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comandos básicos para docker
---------------------------------------------
$ docker --version
-- muestra la version del docker
$ docker-machine ip -- saber la IP del docker
$ docker-machine ls -- da un listado de la maquinas corriendo
$ docker-machine url -- da el URL de acceso, p.e tcp://192.168.99.100:2376
-- da un listado de las imagenes que tiene descargadas localmente
$ docker image ls --> es equivalente a
$ docker images
-- descarga una mini VM con una app que imprime el hola mundo
$ docker run hello-world
-- descarga una MV de ubuntu y abre su bash... con exit terminal
$ docker run -it ubuntu bash
-- descarga la ultima imagen del centos
$ docker pull centos:latest
-- corre la MV del centos y se abre en modo shell interactivo
$ docker run -it centos:latest
-- da un listado de los contenedores que estan corriendo localmente
$ docker container ls
$ docker ps -- es igual
-- listado de los contenedores que han corrido al menos una vez
$ docker container ls -a
BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 4
-- ******* BORRADO de IMAGENES y CONTAINERs ***********************
-- CUIDADO: al borrar una imagen *** una imagen es diferente del
-- container.. Si tuviera asociado un container se tendrá que forzar
-- o borrar previamente el container
$ docker rmi <imageName:imagenTag> -f -- -forzar
-- *** borrar imagenes UNTAGGEDs <none>:<none>
$ docker rmi $(docker images -q -f dangling=true)
-- borrar un contenedor
-- *** Aguas, pudiera estar corriendo como un servicio.
$ docker rm <dockerName:Tag> -- ó tambien:
$ docker rm <container_ID>
-- terminar la sesion con el docker
$ exit
BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 5
- - ******* Utilización de DOCKERS para BASES DE DATOS ******************
-- Instalar el docker para MYSQL
-- ++++ Docker de MySQL https://hub.docker.com/_/mysql/
- - *********************************************************************
$ docker pull mysql
-- descarga el ultimo docker para MySQL
$ docker pull mysql:5.7 -- descarga la version 5.7, la 8.0 tiene detalles
-- de compatibilidad en la autentificacion
-- habria que usar "mysql_native_password"
-- En la documentacion indica que así se lanza el server
$ docker run --name nombreDelServer
-e MYSQL_ROOT_PASSWORD=my-secret-pw
-d mysql:tag
-- de esta forma se podra usar el mySQL server como daemon,
-- pero solo dentro del docker...
-- **Se puede PUBLICAR(exponer) el puerto** para acceder desde la PC host
-- se corre el server de MySQL, se le asigna una Tag y el pass del root
$ docker run -p 3306:3306
--name mysql57 <-- se escribe todo de corrido
-e MYSQL_ROOT_HOST=%
-e MYSQL_ROOT_PASSWORD=password
-d mysql:5.7
$ docker run -p 3307:3307 --name server55 -e MYSQL_ROOT_HOST=%
-e MYSQL_ROOT_PASSWORD=password -d mysql:5.5
-- --name asigna un nombre al contenedor.
-- -e permite asignar valores a run time variables,
-- como el pass del root con: 'MYSQL_ROOT_PASSWORD' y
-- el HOST con 'MYSQL_ROOT_HOST'
-- -d configura el contenedor como un daemon (corre en segundo plano)
-- se checa si queda corriendo el mysql
$ docker container ls
-- Si quisieramos eliminar una instancia del docker se usa "rm".
-- se puede usar para reconfigurar un docker
$docker rm mysql57 <-- <servername> el nombre asignado con --name
--checar los logs del mysql server <servername>
$ docker logs mysql57
--checar datos finos de la configuracion del docker, como la IP interna
$ docker inspect mysql57
-- regresa un jSON con todos los datos
-- matar el proceso, reiniciar, iniciar, parar, el container del server
$docker kill mysql57
$docker restart mysql57
$docker start mysql57
$docker stop mysql57
BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 6
-- +++ conexiones al MySQL server ------------------------------------------
-- conectarse dentro del docker como cliente al puerto default 3306
-- ** CUIDAR el nombre de la imagen que corresponda con su etiqueta,
-- porque sino tratará de instanciar un "mysql:latest"
-- --link <mysql57:mysql> --rm <mysql:5.7>
-- servername:imagen imagen:tag
$ docker run -it <-- para establecer session interactiva en la misma terminal
--link mysql57:mysql <--enlazar al contenedor del server
--rm mysql:5.7 <--borra el contenedor al terminar sesion
sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR"
-P"$MYSQL_PORT_3306_TCP_PORT" -uroot
-p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
-- version más corta sin incluir referencia al pass
$ docker run -it --link mysql57:mysql --rm mysql:5.7
sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR"
-P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p'
-- version aún más corta, usando directamente los valores e IP de la VM
$ docker run -it --link mysql57:mysql --rm mysql:5.7
sh -c 'exec mysql -h192.168.99.100 -uroot -p'
-- Otra forma de lanzar el cliente de mysql (mysql.exe)
-- es sin instanciar un nuevo Docker, utilizando el mismo container
-- del server que ya está corriendo … con docker EXEC
-- $docker exec -it <instancia> <comando>
$ docker exec -it mysql57 mysql -uroot -ppassword -P3306
-- se puede omitir el -h y asumirá localhost, se puede omitir también el -P
-- ++++++++ Para conexiones desde la maquina Host +++++++++++++++++++++++++
-- 1) obtener IP de VM: $docker-machine ip -> (192.168.99.100)
-- 2) Haber instanciado el server con el puerto expuesto
-- 3) conectar con consola cliente o workbench
>mysql -h192.168.99.100 -P3306 -uroot -p
BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 7
- - ******** INSTALAR el docker para PostgreSQL server *************
-- https://hub.docker.com/_/postgres/
- - *****************************************************************
-- descargar docker de PostgreSQL server
$docker pull postgres:9.5
-- con el tag “9.5” se indica la version 9.5, si no será 'latest'
-- correr la imagen del Postgre como server (daemon),
$ docker run -p 5432:5432 --name pgserver95
-e POSTGRES_PASSWORD=password -d postgres:9.5
-- -p 5432:5432 se publica el puerto interno del docker como publico
-- --name , -e -d similares a la ejecucion del MySQL
-- +++ conexiones al servidor del posgreSQL +++++++++++++++++++++++++++++++++
-- una vez expuesto el puerto, se podria conectar desde el pgAdmin u otros
-- conectarse via terminal con el cliente "psql.exe"
$ docker run -it --link pgserver95:postgres --rm postgres:9.5 psql -h
postgres -U postgres
-- cuidar el nombre de la imagen que corresponda con su respectiva etiqueta,
-- porque sino tratará de instanciar un "postgres:latest"
-- --link <pgserver95:postgres> --rm <postgres:9.5>
-- servername:imagen imagen:tag
/* comandos basicos para terminal "psql.exe":
? ayuda sobre comandos pgsql
l lista las databases
dt lista las tablas
c conecta a DB
q salir
*/
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Contenu connexe

Tendances

Laboratorio packet tracer dhcp-dns-http
Laboratorio packet tracer dhcp-dns-httpLaboratorio packet tracer dhcp-dns-http
Laboratorio packet tracer dhcp-dns-httphhlezana
 
Llaboratorio 6.4.2- reto al enrutamiento inter vlan
Llaboratorio 6.4.2- reto al enrutamiento inter vlanLlaboratorio 6.4.2- reto al enrutamiento inter vlan
Llaboratorio 6.4.2- reto al enrutamiento inter vlanJose Guadalupe Couoh Dzul
 
Solucion practica final bloque 1 sist. op. en red
Solucion practica final bloque 1 sist. op. en redSolucion practica final bloque 1 sist. op. en red
Solucion practica final bloque 1 sist. op. en redcfgmi
 
PRACTICAS "COMANDOS Y REDES" PDF.
PRACTICAS "COMANDOS Y REDES" PDF.PRACTICAS "COMANDOS Y REDES" PDF.
PRACTICAS "COMANDOS Y REDES" PDF.Kim Sorel Rush
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidasMax Perez
 
Diseño y normas para data centers
Diseño y normas para data centersDiseño y normas para data centers
Diseño y normas para data centersCarlos Joa
 
Comandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoComandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoCISCO NETWORKING
 
File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchysritolia
 
Estándares del modelo osi
Estándares del modelo osiEstándares del modelo osi
Estándares del modelo osifuadinformatico
 
5.lab3.5.2 resolución de problemas de las configuraciones de vlan
5.lab3.5.2 resolución de problemas de las configuraciones de vlan5.lab3.5.2 resolución de problemas de las configuraciones de vlan
5.lab3.5.2 resolución de problemas de las configuraciones de vlanAlvaro J
 
Proyecto de redes ejemplo
Proyecto de redes ejemploProyecto de redes ejemplo
Proyecto de redes ejemploIvan Porras
 
Normas y estándares para un sistema de cableado estructurado (SCE)
  Normas y estándares para un sistema de cableado estructurado (SCE)   Normas y estándares para un sistema de cableado estructurado (SCE)
Normas y estándares para un sistema de cableado estructurado (SCE) Remmy Fuentes Telleria
 
Virtual private network(vpn)
Virtual private network(vpn)Virtual private network(vpn)
Virtual private network(vpn)sonalikasingh15
 
Servidor DNS con IPv6 en Linux
Servidor DNS con IPv6 en LinuxServidor DNS con IPv6 en Linux
Servidor DNS con IPv6 en LinuxErick Cruz
 
Configuración VPN Sitio a Sitio en ENDIAN
Configuración VPN Sitio a Sitio en ENDIANConfiguración VPN Sitio a Sitio en ENDIAN
Configuración VPN Sitio a Sitio en ENDIANcyberleon95
 

Tendances (20)

Windows 2019
Windows 2019Windows 2019
Windows 2019
 
Laboratorio packet tracer dhcp-dns-http
Laboratorio packet tracer dhcp-dns-httpLaboratorio packet tracer dhcp-dns-http
Laboratorio packet tracer dhcp-dns-http
 
Llaboratorio 6.4.2- reto al enrutamiento inter vlan
Llaboratorio 6.4.2- reto al enrutamiento inter vlanLlaboratorio 6.4.2- reto al enrutamiento inter vlan
Llaboratorio 6.4.2- reto al enrutamiento inter vlan
 
Solucion practica final bloque 1 sist. op. en red
Solucion practica final bloque 1 sist. op. en redSolucion practica final bloque 1 sist. op. en red
Solucion practica final bloque 1 sist. op. en red
 
PRACTICAS "COMANDOS Y REDES" PDF.
PRACTICAS "COMANDOS Y REDES" PDF.PRACTICAS "COMANDOS Y REDES" PDF.
PRACTICAS "COMANDOS Y REDES" PDF.
 
Cap2 mod2(sol)
Cap2 mod2(sol)Cap2 mod2(sol)
Cap2 mod2(sol)
 
Bases de datos distribuidas
Bases de datos distribuidasBases de datos distribuidas
Bases de datos distribuidas
 
Diseño y normas para data centers
Diseño y normas para data centersDiseño y normas para data centers
Diseño y normas para data centers
 
Comandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos ciscoComandos de configuracion de dispositivos cisco
Comandos de configuracion de dispositivos cisco
 
File System Hierarchy
File System HierarchyFile System Hierarchy
File System Hierarchy
 
Estándares del modelo osi
Estándares del modelo osiEstándares del modelo osi
Estándares del modelo osi
 
Oo hdm powerpoint 1
Oo hdm powerpoint 1Oo hdm powerpoint 1
Oo hdm powerpoint 1
 
5.lab3.5.2 resolución de problemas de las configuraciones de vlan
5.lab3.5.2 resolución de problemas de las configuraciones de vlan5.lab3.5.2 resolución de problemas de las configuraciones de vlan
5.lab3.5.2 resolución de problemas de las configuraciones de vlan
 
Proyecto de redes ejemplo
Proyecto de redes ejemploProyecto de redes ejemplo
Proyecto de redes ejemplo
 
TOPOLOGIAS DE RED
TOPOLOGIAS DE REDTOPOLOGIAS DE RED
TOPOLOGIAS DE RED
 
Normas y estándares para un sistema de cableado estructurado (SCE)
  Normas y estándares para un sistema de cableado estructurado (SCE)   Normas y estándares para un sistema de cableado estructurado (SCE)
Normas y estándares para un sistema de cableado estructurado (SCE)
 
Virtual private network(vpn)
Virtual private network(vpn)Virtual private network(vpn)
Virtual private network(vpn)
 
Active directory
Active directoryActive directory
Active directory
 
Servidor DNS con IPv6 en Linux
Servidor DNS con IPv6 en LinuxServidor DNS con IPv6 en Linux
Servidor DNS con IPv6 en Linux
 
Configuración VPN Sitio a Sitio en ENDIAN
Configuración VPN Sitio a Sitio en ENDIANConfiguración VPN Sitio a Sitio en ENDIAN
Configuración VPN Sitio a Sitio en ENDIAN
 

Similaire à Docker 101 - dockers y Bases de Datos DB

generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...César Martín Ortiz Pintado
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020BelnGonzlezGarca1
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemMario IC
 
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - QuaipWordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaipquaip
 
Habilidades de linux
Habilidades de linuxHabilidades de linux
Habilidades de linuxArkanoide7593
 
Generar nuestro local docker container registry server ssl autofirmado
Generar nuestro local docker container registry server  ssl autofirmadoGenerar nuestro local docker container registry server  ssl autofirmado
Generar nuestro local docker container registry server ssl autofirmadoCésar Martín Ortiz Pintado
 
Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Loquenecesito,com
 
Instalacion de Postrgre sql en ubuntu
Instalacion de Postrgre sql en ubuntuInstalacion de Postrgre sql en ubuntu
Instalacion de Postrgre sql en ubuntuDavid Vevelas
 
Instalar Docker Desktop y Kubernetes en Windows 10
Instalar Docker Desktop y Kubernetes en Windows 10Instalar Docker Desktop y Kubernetes en Windows 10
Instalar Docker Desktop y Kubernetes en Windows 10Moisés Elías Araya
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryMario IC
 

Similaire à Docker 101 - dockers y Bases de Datos DB (20)

generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...generar nuestra docker machine conectada a nuestro registry mirror y private ...
generar nuestra docker machine conectada a nuestro registry mirror y private ...
 
FROM lost to the docker
FROM lost to the dockerFROM lost to the docker
FROM lost to the docker
 
FROM lost to the Docker 2020
FROM lost to the Docker 2020FROM lost to the Docker 2020
FROM lost to the Docker 2020
 
Taller girona
Taller gironaTaller girona
Taller girona
 
Jenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker EcosystemJenkins Peru Meetup Docker Ecosystem
Jenkins Peru Meetup Docker Ecosystem
 
Docker WordPress
Docker WordPressDocker WordPress
Docker WordPress
 
Docker y PostgreSQL
Docker y PostgreSQLDocker y PostgreSQL
Docker y PostgreSQL
 
Primeros pasos con Docker
Primeros pasos con DockerPrimeros pasos con Docker
Primeros pasos con Docker
 
Dockers y wp
Dockers y wpDockers y wp
Dockers y wp
 
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - QuaipWordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
WordPress, Nginx, Ghost y Telegram con Docker - I Meetup Docker Córdoba - Quaip
 
Habilidades de linux
Habilidades de linuxHabilidades de linux
Habilidades de linux
 
Generar nuestro local docker container registry server ssl autofirmado
Generar nuestro local docker container registry server  ssl autofirmadoGenerar nuestro local docker container registry server  ssl autofirmado
Generar nuestro local docker container registry server ssl autofirmado
 
Semana 7 Despliegue a producción ORACLE OCI
Semana 7   Despliegue a producción ORACLE OCISemana 7   Despliegue a producción ORACLE OCI
Semana 7 Despliegue a producción ORACLE OCI
 
Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3Thunder cache 3.1.2 en centos 6.3
Thunder cache 3.1.2 en centos 6.3
 
Introduction to docker. Stratio
Introduction to docker. StratioIntroduction to docker. Stratio
Introduction to docker. Stratio
 
Instalacion de Postrgre sql en ubuntu
Instalacion de Postrgre sql en ubuntuInstalacion de Postrgre sql en ubuntu
Instalacion de Postrgre sql en ubuntu
 
Instalar Docker Desktop y Kubernetes en Windows 10
Instalar Docker Desktop y Kubernetes en Windows 10Instalar Docker Desktop y Kubernetes en Windows 10
Instalar Docker Desktop y Kubernetes en Windows 10
 
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, RegistryDocker Ecosystem: Engine, Compose, Machine, Swarm, Registry
Docker Ecosystem: Engine, Compose, Machine, Swarm, Registry
 
Manejo de-redes-linux
Manejo de-redes-linuxManejo de-redes-linux
Manejo de-redes-linux
 
Bulma 441
Bulma 441Bulma 441
Bulma 441
 

Plus de Roman Herrera

Python - Lenguaje de programación para Ciencia de Datos
Python - Lenguaje de programación para Ciencia de DatosPython - Lenguaje de programación para Ciencia de Datos
Python - Lenguaje de programación para Ciencia de DatosRoman Herrera
 
Data Science learning roadmaps 2021
Data Science learning roadmaps 2021Data Science learning roadmaps 2021
Data Science learning roadmaps 2021Roman Herrera
 
Herramientas y recursos tecnológicos para el Data Science
Herramientas y recursos tecnológicos para el Data ScienceHerramientas y recursos tecnológicos para el Data Science
Herramientas y recursos tecnológicos para el Data ScienceRoman Herrera
 
Calidad de datos. Preparación y limpieza de los datos
Calidad de datos. Preparación y limpieza de los datosCalidad de datos. Preparación y limpieza de los datos
Calidad de datos. Preparación y limpieza de los datosRoman Herrera
 
IoT - integración de particle photon con Alexa y Google Assistant
IoT - integración de particle photon con Alexa y Google AssistantIoT - integración de particle photon con Alexa y Google Assistant
IoT - integración de particle photon con Alexa y Google AssistantRoman Herrera
 
Big data, NoSQL y tendencias en Bases de Datos 2018.
Big data, NoSQL y tendencias en Bases de Datos 2018.Big data, NoSQL y tendencias en Bases de Datos 2018.
Big data, NoSQL y tendencias en Bases de Datos 2018.Roman Herrera
 

Plus de Roman Herrera (6)

Python - Lenguaje de programación para Ciencia de Datos
Python - Lenguaje de programación para Ciencia de DatosPython - Lenguaje de programación para Ciencia de Datos
Python - Lenguaje de programación para Ciencia de Datos
 
Data Science learning roadmaps 2021
Data Science learning roadmaps 2021Data Science learning roadmaps 2021
Data Science learning roadmaps 2021
 
Herramientas y recursos tecnológicos para el Data Science
Herramientas y recursos tecnológicos para el Data ScienceHerramientas y recursos tecnológicos para el Data Science
Herramientas y recursos tecnológicos para el Data Science
 
Calidad de datos. Preparación y limpieza de los datos
Calidad de datos. Preparación y limpieza de los datosCalidad de datos. Preparación y limpieza de los datos
Calidad de datos. Preparación y limpieza de los datos
 
IoT - integración de particle photon con Alexa y Google Assistant
IoT - integración de particle photon con Alexa y Google AssistantIoT - integración de particle photon con Alexa y Google Assistant
IoT - integración de particle photon con Alexa y Google Assistant
 
Big data, NoSQL y tendencias en Bases de Datos 2018.
Big data, NoSQL y tendencias en Bases de Datos 2018.Big data, NoSQL y tendencias en Bases de Datos 2018.
Big data, NoSQL y tendencias en Bases de Datos 2018.
 

Dernier

La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 

Dernier (20)

La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 

Docker 101 - dockers y Bases de Datos DB

  • 1. BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 1 ++++++++++++++++++++++++ CONTENEDORES (dockers) ++++++++++++++++++++++++++ -Que son los dockers? -Diferencias entre dockers vs Máquinas Virtuales -Arquitectura de los dockers -Tendencias y principales aplicaciones -Que se necesita para utilizar estas tecnologías? -docker101 - instalación - comandos básicos - repositorios docker - dockers vs images -- docker-hello-world -docker102 - implementación de BD en dockers -- MySQL Server o PostgreSQL en docker -- Como acceder a la BD del docker desde una interfaz como MySQLworkbench o pgAdmin? --- Referencias -------------------------------------------------------------- Docker Commands https://dzone.com/articles/docker-command-cheatsheet Play with Docker Classroom https://training.play-with-docker.com/ https://training.play-with-docker.com/ops-s1-hello/ Hello world y basic Linux Alpine Tutorial - Docker Quickstart https://linuxacademy.com/devops/training/course/name/docker-quick-start
  • 2. BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DOCKER 101 - Docker Commands - https://dzone.com/articles/docker-command-cheatsheet ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- List images: >docker images --List running docker processes: >docker ps --List all processes that were ever run: >docker ps -a --List only the container IDs: >docker ps -a -q -- Running processes: docker run <image> docker run -d <image> --> run in disconnected / daemon mode docker run --name="Some Name" --> name the running instance docker start <name> --> will restart a closed / exited instance of the image docker exec -it <name> <command> -->run a command within a running container -- without changing the state of the running container docker stop <name> --> stop a running container by using the name -- Cleaning up Docker: docker rm containerid --> removes an instance of the container that was run docker rm `docker ps -a -q` --> remove all stopped containers docker rmi image-name --> removes the docker image and its dependencies --Redirect port: docker run -P --> will redirect the container's port to a random port -- on the host machine's user port (port no 32,000+) docker run -p 8080:80 --> will redirect the container's port 80 to a port 8080 -- on the host machine's user port docker port <container-name> --> will list the port mapping information
  • 3. BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 3 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ DOCKER 101 - Tips para usar docker en Windows para configurar servers de BD +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --------------------------------------------------------- Para windows 10 home no funciona el más nuevo Docker Windows installer (533 MB) requiere Win10 PRO, en su lugar se puede usar el dockerToolbox (216MB) Se descarga el DockerTools Se instala con doble click Se corre desde el acceso directo, se abre una terminal y se empieza a configurar tarda como 3 minutos en configurar, al final queda un PROMPT y expone una IP que le asigno a una VM, pe.e 192.168.99.100 *** Se puede interactuar con docker en Windows, usando al menos 2 opciones: 1) Usando el Docker QuickstartTerminal, 2) Usando la interfaz gráfica GUI de Kitematic ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comandos básicos para docker --------------------------------------------- $ docker --version -- muestra la version del docker $ docker-machine ip -- saber la IP del docker $ docker-machine ls -- da un listado de la maquinas corriendo $ docker-machine url -- da el URL de acceso, p.e tcp://192.168.99.100:2376 -- da un listado de las imagenes que tiene descargadas localmente $ docker image ls --> es equivalente a $ docker images -- descarga una mini VM con una app que imprime el hola mundo $ docker run hello-world -- descarga una MV de ubuntu y abre su bash... con exit terminal $ docker run -it ubuntu bash -- descarga la ultima imagen del centos $ docker pull centos:latest -- corre la MV del centos y se abre en modo shell interactivo $ docker run -it centos:latest -- da un listado de los contenedores que estan corriendo localmente $ docker container ls $ docker ps -- es igual -- listado de los contenedores que han corrido al menos una vez $ docker container ls -a
  • 4. BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 4 -- ******* BORRADO de IMAGENES y CONTAINERs *********************** -- CUIDADO: al borrar una imagen *** una imagen es diferente del -- container.. Si tuviera asociado un container se tendrá que forzar -- o borrar previamente el container $ docker rmi <imageName:imagenTag> -f -- -forzar -- *** borrar imagenes UNTAGGEDs <none>:<none> $ docker rmi $(docker images -q -f dangling=true) -- borrar un contenedor -- *** Aguas, pudiera estar corriendo como un servicio. $ docker rm <dockerName:Tag> -- ó tambien: $ docker rm <container_ID> -- terminar la sesion con el docker $ exit
  • 5. BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 5 - - ******* Utilización de DOCKERS para BASES DE DATOS ****************** -- Instalar el docker para MYSQL -- ++++ Docker de MySQL https://hub.docker.com/_/mysql/ - - ********************************************************************* $ docker pull mysql -- descarga el ultimo docker para MySQL $ docker pull mysql:5.7 -- descarga la version 5.7, la 8.0 tiene detalles -- de compatibilidad en la autentificacion -- habria que usar "mysql_native_password" -- En la documentacion indica que así se lanza el server $ docker run --name nombreDelServer -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag -- de esta forma se podra usar el mySQL server como daemon, -- pero solo dentro del docker... -- **Se puede PUBLICAR(exponer) el puerto** para acceder desde la PC host -- se corre el server de MySQL, se le asigna una Tag y el pass del root $ docker run -p 3306:3306 --name mysql57 <-- se escribe todo de corrido -e MYSQL_ROOT_HOST=% -e MYSQL_ROOT_PASSWORD=password -d mysql:5.7 $ docker run -p 3307:3307 --name server55 -e MYSQL_ROOT_HOST=% -e MYSQL_ROOT_PASSWORD=password -d mysql:5.5 -- --name asigna un nombre al contenedor. -- -e permite asignar valores a run time variables, -- como el pass del root con: 'MYSQL_ROOT_PASSWORD' y -- el HOST con 'MYSQL_ROOT_HOST' -- -d configura el contenedor como un daemon (corre en segundo plano) -- se checa si queda corriendo el mysql $ docker container ls -- Si quisieramos eliminar una instancia del docker se usa "rm". -- se puede usar para reconfigurar un docker $docker rm mysql57 <-- <servername> el nombre asignado con --name --checar los logs del mysql server <servername> $ docker logs mysql57 --checar datos finos de la configuracion del docker, como la IP interna $ docker inspect mysql57 -- regresa un jSON con todos los datos -- matar el proceso, reiniciar, iniciar, parar, el container del server $docker kill mysql57 $docker restart mysql57 $docker start mysql57 $docker stop mysql57
  • 6. BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 6 -- +++ conexiones al MySQL server ------------------------------------------ -- conectarse dentro del docker como cliente al puerto default 3306 -- ** CUIDAR el nombre de la imagen que corresponda con su etiqueta, -- porque sino tratará de instanciar un "mysql:latest" -- --link <mysql57:mysql> --rm <mysql:5.7> -- servername:imagen imagen:tag $ docker run -it <-- para establecer session interactiva en la misma terminal --link mysql57:mysql <--enlazar al contenedor del server --rm mysql:5.7 <--borra el contenedor al terminar sesion sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"' -- version más corta sin incluir referencia al pass $ docker run -it --link mysql57:mysql --rm mysql:5.7 sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p' -- version aún más corta, usando directamente los valores e IP de la VM $ docker run -it --link mysql57:mysql --rm mysql:5.7 sh -c 'exec mysql -h192.168.99.100 -uroot -p' -- Otra forma de lanzar el cliente de mysql (mysql.exe) -- es sin instanciar un nuevo Docker, utilizando el mismo container -- del server que ya está corriendo … con docker EXEC -- $docker exec -it <instancia> <comando> $ docker exec -it mysql57 mysql -uroot -ppassword -P3306 -- se puede omitir el -h y asumirá localhost, se puede omitir también el -P -- ++++++++ Para conexiones desde la maquina Host +++++++++++++++++++++++++ -- 1) obtener IP de VM: $docker-machine ip -> (192.168.99.100) -- 2) Haber instanciado el server con el puerto expuesto -- 3) conectar con consola cliente o workbench >mysql -h192.168.99.100 -P3306 -uroot -p
  • 7. BASES DE DATOS y CONTENEDORES (dockers) – Facultad de Telemática – BDA 2019A – rherrera@ucol.mx 7 - - ******** INSTALAR el docker para PostgreSQL server ************* -- https://hub.docker.com/_/postgres/ - - ***************************************************************** -- descargar docker de PostgreSQL server $docker pull postgres:9.5 -- con el tag “9.5” se indica la version 9.5, si no será 'latest' -- correr la imagen del Postgre como server (daemon), $ docker run -p 5432:5432 --name pgserver95 -e POSTGRES_PASSWORD=password -d postgres:9.5 -- -p 5432:5432 se publica el puerto interno del docker como publico -- --name , -e -d similares a la ejecucion del MySQL -- +++ conexiones al servidor del posgreSQL +++++++++++++++++++++++++++++++++ -- una vez expuesto el puerto, se podria conectar desde el pgAdmin u otros -- conectarse via terminal con el cliente "psql.exe" $ docker run -it --link pgserver95:postgres --rm postgres:9.5 psql -h postgres -U postgres -- cuidar el nombre de la imagen que corresponda con su respectiva etiqueta, -- porque sino tratará de instanciar un "postgres:latest" -- --link <pgserver95:postgres> --rm <postgres:9.5> -- servername:imagen imagen:tag /* comandos basicos para terminal "psql.exe": ? ayuda sobre comandos pgsql l lista las databases dt lista las tablas c conecta a DB q salir */ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++