SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
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
*/
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Más contenido relacionado

La actualidad más candente

Active Directory en 2012 : les meilleures pratiques en design, sécurité et ad...
Active Directory en 2012 : les meilleures pratiques en design, sécurité et ad...Active Directory en 2012 : les meilleures pratiques en design, sécurité et ad...
Active Directory en 2012 : les meilleures pratiques en design, sécurité et ad...Microsoft Technet France
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoRegis Magalhães
 
Construisez votre première application MongoDB
Construisez votre première application MongoDBConstruisez votre première application MongoDB
Construisez votre première application MongoDBMongoDB
 
MongoDB et Elasticsearch, meilleurs ennemis ?
MongoDB et Elasticsearch, meilleurs ennemis ?MongoDB et Elasticsearch, meilleurs ennemis ?
MongoDB et Elasticsearch, meilleurs ennemis ?Sébastien Prunier
 
Stockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersStockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersLilia Sfaxi
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec dockergcatt
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
Programando em python funcoes
Programando em python   funcoesProgramando em python   funcoes
Programando em python funcoessamuelthiago
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partiekadzaki
 
Revisão HTML, CSS e BOOTSTRAP - Professor Franciosney
Revisão HTML, CSS e BOOTSTRAP - Professor FranciosneyRevisão HTML, CSS e BOOTSTRAP - Professor Franciosney
Revisão HTML, CSS e BOOTSTRAP - Professor Franciosneyfranciosney
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.pptPROFPROF11
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & SparkAlexia Audevart
 
Programacion Orientada a Objetos en php
Programacion Orientada a Objetos en phpProgramacion Orientada a Objetos en php
Programacion Orientada a Objetos en phpSamuel Piñon Garcia
 

La actualidad más candente (20)

Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Active Directory en 2012 : les meilleures pratiques en design, sécurité et ad...
Active Directory en 2012 : les meilleures pratiques en design, sécurité et ad...Active Directory en 2012 : les meilleures pratiques en design, sécurité et ad...
Active Directory en 2012 : les meilleures pratiques en design, sécurité et ad...
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita Polimorfismo
 
Construisez votre première application MongoDB
Construisez votre première application MongoDBConstruisez votre première application MongoDB
Construisez votre première application MongoDB
 
MongoDB et Elasticsearch, meilleurs ennemis ?
MongoDB et Elasticsearch, meilleurs ennemis ?MongoDB et Elasticsearch, meilleurs ennemis ?
MongoDB et Elasticsearch, meilleurs ennemis ?
 
Stockage de données dans Android : Fichiers
Stockage de données dans Android : FichiersStockage de données dans Android : Fichiers
Stockage de données dans Android : Fichiers
 
Unix Basics For Testers
Unix Basics For TestersUnix Basics For Testers
Unix Basics For Testers
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Programando em python funcoes
Programando em python   funcoesProgramando em python   funcoes
Programando em python funcoes
 
Hadoop
HadoopHadoop
Hadoop
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partie
 
Python.ppt
Python.pptPython.ppt
Python.ppt
 
Revisão HTML, CSS e BOOTSTRAP - Professor Franciosney
Revisão HTML, CSS e BOOTSTRAP - Professor FranciosneyRevisão HTML, CSS e BOOTSTRAP - Professor Franciosney
Revisão HTML, CSS e BOOTSTRAP - Professor Franciosney
 
Cours JavaScript.ppt
Cours JavaScript.pptCours JavaScript.ppt
Cours JavaScript.ppt
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Programacion Orientada a Objetos en php
Programacion Orientada a Objetos en phpProgramacion Orientada a Objetos en php
Programacion Orientada a Objetos en php
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 

Similar a Docker 101 - dockers y Bases de Datos DB

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
 
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
 
Primeros pasos tema_11_bis
Primeros pasos tema_11_bisPrimeros pasos tema_11_bis
Primeros pasos tema_11_bisRamón Martínez
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetesjdezine
 

Similar a Docker 101 - dockers y Bases de Datos DB (20)

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
 
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
 
Primeros pasos tema_11_bis
Primeros pasos tema_11_bisPrimeros pasos tema_11_bis
Primeros pasos tema_11_bis
 
Game of pods - Kubernetes
Game of pods - KubernetesGame of pods - Kubernetes
Game of pods - Kubernetes
 

Más 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
 

Más 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.
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 

Último (13)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 

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 */ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++