Joan eduki nagusira
Aprender Docker, un Enfoque Práctico

Aprender Docker, un Enfoque Práctico

Jose Juan Sanchez Hernandez

Si quiere aprender a utilizar la tecnología de contenedores que ha revolucionado el desarrollo y la distribución de aplicaciones web, ha llegado al libro indicado. Antes de que Docker apareciese en la industria del desarrollo de software, era complicado garantizar la consistencia entre los entornos de desarrollo y producción. Era habitual encontrarse con aplicaciones que no se...

Argitaletxea:
Marcombo, S. a.
Edizio-urtea:
2022
ISBN:
978-84-267-3194-4
Orrialdeak:
306
22,85 €
BEZ barne
Available in 1 month
Gehitu gogokoetara

Sinopsia

Si quiere aprender a utilizar la tecnología de contenedores que ha revolucionado el desarrollo y la distribución de aplicaciones web, ha llegado al libro indicado. Antes de que Docker apareciese en la industria del desarrollo de software, era complicado garantizar la consistencia entre los entornos de desarrollo y producción. Era habitual encontrarse con aplicaciones que no se ejecutaban de forma correcta en el entorno de producción porque utilizaban dependencias con diferentes versiones de las que se habían utilizado en el entorno de desarrollo. La tecnología de contenedores de software soluciona este problema, ya que permite empaquetar y distribuir una aplicación con todas las dependencias que necesita garantizando que se va a ejecutar de la misma manera sobre cualquier tipo de infraestructura. Gracias a esta forma de desarrollar y distribuir las aplicaciones, se ha conseguido eliminar las inconsistencias entre los entornos de desarrollo y producción. Los desarrolladores de aplicaciones ya no necesitan crear máquinas virtuales pesadas en sus equipos de trabajo. Docker les permite disponer de un entorno de desarrollo mucho más ligero, que utiliza menos recursos y ofrece mayores prestaciones. El uso de los contenedores ha permitido acelerar el proceso de desarrollo de las aplicaciones, así como facilitar la forma de distribuirlas y la automatización del despliegue en producción. Cada vez hay más equipos de desarrollo y operaciones que están utilizando la tecnología de contenedores Docker en sus flujos de trabajo. Si todavía no sabe utilizar Docker y quiere aprender para mejorar profesionalmente, no espere más, este libro le ayudará a conseguirlo. José Juan Sánchez Hernández es ingeniero en Informática y tiene un máster en Técnicas Informáticas Avanzadas por la Universidad de Almería, donde trabajó como investigador. Sus principales líneas de investigación están en el área de la compresión y transmisión de imágenes, sobre las que ha realizado publicaciones en congresos nacionales e internacionales. También ha trabajado como analista de sistemas y programador en el ámbito de la empresa pública y privada. Actualmente desarrolla su carrera profesional como profesor de enseñanza secundaria en la especialidad de Informática y es docente en los ciclos formativos de grado superior de Administración de Sistemas Informáticos en Red y Desarrollo de Aplicaciones Web.

Aurkibidea

Lista de siglas y acronimos ............................................................................................ 13
Acerca de este libro ...................................................................................................... 15
CAPITULO 1 Conceptos basicos .............................................................................. 17
1.1. .Que es Docker? .................................................................................................. 17
1.1.1. Docker como tecnologia de contenedores .................................................... 17
1.1.2. Docker, Inc. .................................................................................................... 17
1.2. .Que ventajas nos aporta el uso de Docker? ....................................................... 18
1.3. Breve historia de las tecnologias de aislamiento ................................................. 18
1.4. .Que es una maquina virtual? .............................................................................. 19
1.5. .Que es un contenedor? ...................................................................................... 19
1.6. Analogia con los contenedores de transporte maritimo ...................................... 20
1.7. Diferencias entre contenedores y maquinas virtuales ......................................... 20
1.8. Arquitectura de Docker ........................................................................................ 21
1.9. Cliente de Docker ................................................................................................. 22
1.9.1. Docker CLI ...................................................................................................... 24
1.9.2. Docker Compose ............................................................................................ 24
1.10. Docker Engine ...................................................................................................... 25
1.10.1. Docker Engine API .......................................................................................... 26
1.10.2. Docker daemon .............................................................................................. 27
1.11. Container runtime ................................................................................................ 28
1.11.1. containerd ...................................................................................................... 28
1.11.2. runc ................................................................................................................ 29
1.12. Docker Registry .................................................................................................... 29
1.12.1. Docker Hub .................................................................................................... 30
1.12.2. Otros registros ............................................................................................... 30
1.13. Objetos de Docker ................................................................................................ 31
1.13.1. Imagenes ........................................................................................................ 31
1.13.2. Contenedores ................................................................................................. 31
1.13.3. Volumenes ..................................................................................................... 33
1.13.4. Redes .............................................................................................................. 33
1.14. Orquestacion de contenedores ............................................................................ 34
1.15. Organizaciones y estandares ................................................................................ 35
1.15.1. Open Container Initiative (OCI) ...................................................................... 36
1.15.2. Cloud Native Computing Foundation (CNCF) ................................................. 36
1.16. Alternativas a Docker ........................................................................................... 37
CAPITULO 2 Instalacion de Docker ......................................................................... 39
2.1. Docker Engine Community ................................................................................... 39
2.2. Instalacion de Docker Engine en Linux ................................................................. 40
2.2.1. Metodos de instalacion en Ubuntu ................................................................ 40
2.2.2. Instalacion en Ubuntu utilizando el script oficial ........................................... 41
2.2.3. Instalacion en Ubuntu desde los repositorios oficiales de Docker ................ 41
Configuracion del repositorio oficial de Docker ............................................ 41
Instalacion de Docker Engine ........................................................................ 43
Comprobacion de la instalacion .................................................................... 43
2.2.4. Pasos posteriores a la instalacion en Linux .................................................... 46
Configuracion del usuario .............................................................................. 46
Configuracion de Docker Engine para que se inicie automaticamente ......... 47
2.3. Instalacion de Docker Desktop en Windows 10 ................................................... 47
2.3.1. Instalacion de Docker Desktop utilizando WSL 2 como backend ................... 48
2.4. Instalacion de Docker Engine en Windows Server ............................................... 54
Comprobacion de la instalacion .................................................................... 55
2.5. Instalacion de Docker Desktop en macOS ............................................................ 56
2.6. Play with Docker ................................................................................................... 59
CAPITULO 3 Imagenes Docker ................................................................................ 61
3.1. .Que es una imagen Docker? ............................................................................... 61
3.2. .Que es un repositorio de imagenes? .................................................................. 61
3.3. .Que es un tag? ................................................................................................... 63
3.4. .Que es el digest de una imagen? ........................................................................ 64
3.5. .Que es el namespace de un repositorio? ........................................................... 65
3.6. .Que es un registry? ............................................................................................. 66
3.7. Docker Hub ........................................................................................................... 67
3.7.1. Repositorios de imagenes oficiales ................................................................ 68
3.7.2. Repositorios de imagenes de organizaciones verificadas .............................. 70
3.7.3. Repositorios de imagenes de la comunidad .................................................. 71
3.8. El archivo Dockerfile ............................................................................................. 71
3.9. Creacion de una imagen a partir de un archivo Dockerfile .................................. 82
3.10. Como publicar una imagen en Docker Hub .......................................................... 86
3.11. Capas de una imagen ........................................................................................... 90
3.12. Soporte para multiples arquitecturas ................................................................ 100
3.13. Formato de las imagenes Docker ....................................................................... 101
3.14. Buscar imagenes en Docker Hub . docker search .............................................. 102
3.14.1. Buscar imagenes por nombre ...................................................................... 103
3.14.2. Buscar imagenes utilizando filtros ............................................................... 104
3.15. Administracion de imagenes . docker image .................................................... 105
3.16. Descargar imagenes . docker pull ...................................................................... 108
3.16.1. Descargar imagenes desde Docker Hub ....................................................... 109
3.16.2. Descargar imagenes desde un registry diferente a Docker Hub .................. 111
3.17. Mostrar imagenes . docker images ................................................................... 111
3.17.1. Mostrar las imagenes que tenemos descargadas ........................................ 113
3.17.2. Mostrar las imagenes intermedias ............................................................... 113
3.17.3. Mostrar el identificador de las imagenes ..................................................... 114
3.17.4. Mostrar el digest de las imagenes ............................................................... 114
3.18. Eliminar imagenes . docker rmi ......................................................................... 115
3.18.1. Eliminar una imagen por su tag ................................................................... 116
3.18.2. Eliminar una imagen por su identificador .................................................... 117
3.18.3. Eliminar todas las imagenes, excepto las dangling images ......................... 119
3.18.4. Eliminar las dangling images ....................................................................... 119
3.18.5. Eliminar las imagenes que no estan siendo utilizadas ................................. 119
3.19. Consultar el historial de una imagen . docker history ....................................... 120
3.20. Mostrar informacion detallada . docker inspect ............................................... 122
CAPITULO 4 Contenedores Docker ....................................................................... 125
4.1. Ciclo de vida de un contenedor .......................................................................... 125
4.2. Administracion de contenedores . docker container ........................................ 126
4.3. Creacion y ejecucion de contenedores . docker run ......................................... 128
4.4. Hello World! ....................................................................................................... 131
4.5. Obtener el listado de contenedores . docker ps ............................................... 134
4.5.1. Obtener el listado de los contenedores que estan en ejecucion ................. 136
4.5.2. Obtener el listado de todos los contenedores ............................................. 137
4.5.3. Obtener el identificador de los contenedores que estan en ejecucion ....... 138
4.5.4. Obtener el identificador de todos los contenedores ................................... 138
4.6. Ejecutar un comando dentro de un contenedor ................................................ 139
4.7. Ejecutar un contenedor en modo interactivo .................................................... 140
4.8. Eliminar contenedores . docker rm ................................................................... 144
4.8.1. Eliminar un contenedor que esta detenido ................................................. 145
4.8.2. Eliminar un contenedor que esta en ejecucion ........................................... 145
4.8.3. Eliminar un contenedor y sus volumenes anonimos asociados ................... 146
4.8.4. Eliminar los contenedores que estan detenidos .......................................... 146
4.8.5. Eliminar los contenedores que estan en ejecucion y detenidos .................. 147
4.9. Mostrar la salida estandar de un contenedor . docker logs .............................. 147
4.10. Creacion de un contenedor en segundo plano .................................................. 149
4.11. Publicar los puertos de un contenedor .............................................................. 152
4.11.1. Opcion -p, --publish ...................................................................................... 153
4.11.2. Opcion -P, --publish-all ................................................................................. 155
4.12. Como conectarnos a un contenedor en ejecucion ............................................. 156
4.12.1. docker attach ............................................................................................... 156
4.12.2. docker exec .................................................................................................. 158
4.13. Copiar archivos y directorios . docker cp ........................................................... 160
4.14. Como detener un contenedor . docker stop ..................................................... 165
4.15. Como iniciar un contenedor . docker start ........................................................ 167
4.16. Politicas de reinicio ............................................................................................ 169
CAPITULO 5 Almacenamiento en Docker ............................................................. 171
5.1. Almacenamiento en Docker ............................................................................... 171
5.2. Bind mounts ....................................................................................................... 172
5.3. Formas de crear un bind mount en un contenedor ........................................... 173
5.4. Crear un bind mount de solo lectura .................................................................. 176
5.5. Como crear las rutas de los directorios en un bind mount ................................ 177
5.6. Ejemplo para compartir el codigo fuente de una aplicacion .............................. 179
5.7. Ejemplo para compartir un archivo de configuracion ........................................ 182
5.8. Volumenes ......................................................................................................... 184
5.9. Administracion de volumenes . docker volume ................................................ 186
5.10. Creacion de un volumen .................................................................................... 187
5.10.1. Creacion de un volumen con el comando docker volume create ................ 187
5.10.2. Creacion de un volumen al crear un contenedor con docker run ................ 188
5.11. Inspeccionar un volumen ................................................................................... 193
5.12. Obtener el listado de volumenes ....................................................................... 195
5.13. Eliminar volumenes que no estan en uso .......................................................... 196
5.14. Eliminar volumenes ............................................................................................ 197
5.15. Ejemplo de creacion de un contenedor con MySQL .......................................... 198
5.15.1. Creacion de un contenedor MySQL con un volumen anonimo ................... 198
5.15.2. Creacion de un contenedor MySQL con un volumen con nombre .............. 200
5.15.3. Inicializar un contenedor de MySQL con una base de datos ....................... 205
CAPITULO 6 Redes en Docker ............................................................................... 209
6.1. Redes en Docker ................................................................................................. 209
6.1.1. Container Network Model (CNM) ................................................................ 209
6.1.2. libnetwork .................................................................................................... 210
6.1.3. Drivers de red ............................................................................................... 210
6.2. Redes de tipo bridge .......................................................................................... 215
6.3. Administracion de redes . docker network ........................................................ 216
6.4. Obtener el listado de redes ................................................................................ 217
6.5. Creacion de una red ........................................................................................... 220
6.6. Conectar un contenedor a una red .................................................................... 225
6.6.1. Con el comando docker network connect .................................................... 225
6.6.2. Con la opcion --network cuando se crea un contenedor ............................. 228
6.7. Desconectar un contenedor de una red ............................................................ 230
6.8. Inspeccionar una red .......................................................................................... 231
6.9. Eliminar las redes que no estan en uso .............................................................. 234
6.10. Eliminar redes .................................................................................................... 235
6.11. Como conectar un contenedor Adminer con MySQL ......................................... 235
6.11.1. Utilizando enlaces entre contenedores con la opcion --link ........................ 236
6.11.2. Utilizando una red bridge definida por el usuario ....................................... 242
6.12. Como conectar WordPress, MySQL y phpMyAdmin .......................................... 245
CAPITULO 7 Docker Compose .............................................................................. 253
7.1. .Que es Docker Compose? ................................................................................ 253
7.1.1. La especificacion Compose .......................................................................... 253
7.1.2. La implementacion Docker Compose .......................................................... 254
7.2. Instalacion de Docker Compose v2 .................................................................... 255
7.3. El archivo de configuracion de Docker Compose ............................................... 256
7.3.1. version .......................................................................................................... 257
7.3.2. services ........................................................................................................ 258
7.3.3. volumes ........................................................................................................ 265
7.3.4. networks ...................................................................................................... 266
7.3.5. configs .......................................................................................................... 268
7.3.6. secrets .......................................................................................................... 269
7.4. Comandos de Docker Compose ......................................................................... 271
7.5. Ejemplo de un servicio Apache HTTP Server ...................................................... 273
7.6. Ejemplo de un servicio MySQL ........................................................................... 276
7.7. Como utilizar archivos con variables de entorno ............................................... 280
7.8. Ejemplo de una aplicacion con dos servicios ..................................................... 282
7.9. Despliegue de una aplicacion WordPress .......................................................... 288
7.10. Creacion de un entorno de desarrollo LAMP ..................................................... 291
7.11. Creacion de un entorno de desarrollo LEMP ..................................................... 296
7.12. Repositorio con proyectos de ejemplo .............................................................. 300
ANEXO A docker system .................................................................................. 301

Lotutako artikuluak

El Cuento de Peter Conejo

El Cuento de Peter Conejo

Potter, Beatrix

Blackie Books

Las historias de Beatrix Potter llenas de humor, naturaleza, encanto clásico y minuciosamente ilustradas, se han convertido en auténticos tesoros de la literatura universal. Peter Conejo es curioso, inquieto y un poco desobediente. Un dia entra en el huerto del señor McGregor. Y lo que empieza como una travesura pronto se convierte en una gran aventura. ...

13,90 €
Available
El Cántico de la Tierra

El Cántico de la Tierra

Mancuso, Stefano

Galaxia Gutemberg

En El cántico de la Tierra, el reconocido neurobiólogo vegetal Stefano Mancuso reinterpreta el Cántico de las criaturas, escrito por san Francisco de Asís en 1224, y lo transforma en un extraordinario tratado sobre ecología. El nuevo libro de Mancuso -que ha tenido una excelente acogida tanto por parte del público como de la crítica- combina la espiritualidad y los datos cientí...

18,50 €
Available
Alta Tensión

Alta Tensión

Coben, Harlan

Rba Libros

Incluso las personas que idolatras no son siempre lo que parecen. Suzze T había sido una estrella del tenis. Ahora está embarazada de ocho meses y su marido, un antiguo ídolo del rock, ha desaparecido. Puede que ciertos rumores sobre la paternidad del bebé lo hayan hecho huir, así que, para encontrarlo, Suzze recurre a Myron Bolitar, a quien conoce desde hace años. Sin embargo,...

21,90 €
Available
Hormigas S. a.

Hormigas S. a.

Vidal Cordero, José Manuel

Zahori Books

Las hormigas están por todas partes. Caminan por nuestros jardines, construyen túneles bajo nuestros pies y forman largas filas en busca de alimento. Pero detrás de esos pequeños insectos se esconde una de las sociedades más complejas y fascinantes de la naturaleza. ¿Cómo nace un hormiguero? ¿Quién toma las decisiones? ¿Cómo se comunican? ¿Por qué algunas cultivan hongos, const...

19,90 €
Available
La Magia de la Limpieza Natural

La Magia de la Limpieza Natural

Rubin, Purdy / Figg, Charlotte

Traspaso

Durante años nos han hecho creer que para limpiar bien una casa necesitamos decenas de productos distintos: sprays para el baño, desengrasantes para la cocina, limpiadores para el suelo, quitamanchas imposibles... todos llenos de químicos y envases de plástico. Pero ¿y si limpiar pudiera ser mucho más sencillo, natural y efi caz? Purdy Rubin y Charlotte Figg estaban cansadas de...

20,90 €
Available
Pálido Criminal

Pálido Criminal

Kerr, Philip

Rba Editores

En la Alemania nazi, nadie está a salvo. Mientras Hitler está preparando una guerra, las calles de Berlín también son el escenario de un tipo de terror ajeno a los nazis. Un psicópata está asesinando y violando a muchachas jóvenes y de apariencia aria. Las altas esferas no pueden permitir esta ofensa al pueblo alemán. Por eso, el poderoso Reinhard Heydrich recurre al investigad...

21,90 €
Available