Читать книгу Aprender Docker, un enfoque práctico - José Juan Sánchez Hernández - Страница 6

Índice general

Оглавление

Lista de siglas y acrónimos

Acerca de este libro

CAPÍTULO 1 Conceptos básicos

1.1. ¿Qué es Docker?

1.1.1. Docker como tecnología de contenedores

1.1.2. Docker, Inc.

1.2. ¿Qué ventajas nos aporta el uso de Docker?

1.3. Breve historia de las tecnologías de aislamiento

1.4. ¿Qué es una máquina virtual?

1.5. ¿Qué es un contenedor?

1.6. Analogía con los contenedores de transporte marítimo

1.7. Diferencias entre contenedores y máquinas virtuales

1.8. Arquitectura de Docker

1.9. Cliente de Docker

1.9.1. Docker CLI

1.9.2. Docker Compose

1.10. Docker Engine

1.10.1. Docker Engine API

1.10.2. Docker daemon

1.11. Container runtime

1.11.1. containerd

1.11.2. runc

1.12. Docker Registry

1.12.1. Docker Hub

1.12.2. Otros registros

1.13. Objetos de Docker

1.13.1. Imágenes

1.13.2. Contenedores

1.13.3. Volúmenes

1.13.4. Redes

1.14. Orquestación de contenedores

1.15. Organizaciones y estándares

1.15.1. Open Container Initiative (OCI)

1.15.2. Cloud Native Computing Foundation (CNCF)

1.16. Alternativas a Docker

CAPÍTULO 2 Instalación de Docker

2.1. Docker Engine Community

2.2. Instalación de Docker Engine en Linux

2.2.1. Métodos de instalación en Ubuntu

2.2.2. Instalación en Ubuntu utilizando el script oficial

2.2.3. Instalación en Ubuntu desde los repositorios oficiales de Docker

Configuración del repositorio oficial de Docker

Instalación de Docker Engine

Comprobación de la instalación

2.2.4. Pasos posteriores a la instalación en Linux

Configuración del usuario

Configuración de Docker Engine para que se inicie automáticamente

2.3. Instalación de Docker Desktop en Windows 10

2.3.1. Instalación de Docker Desktop utilizando WSL 2 como backend

2.4. Instalación de Docker Engine en Windows Server

Comprobación de la instalación

2.5. Instalación de Docker Desktop en macOS

2.6. Play with Docker

CAPÍTULO 3 Imágenes Docker

3.1. ¿Qué es una imagen Docker?

3.2. ¿Qué es un repositorio de imágenes?

3.3. ¿Qué es un tag?

3.4. ¿Qué es el digest de una imagen?

3.5. ¿Qué es el namespace de un repositorio?

3.6. ¿Qué es un registry?

3.7. Docker Hub

3.7.1. Repositorios de imágenes oficiales

3.7.2. Repositorios de imágenes de organizaciones verificadas

3.7.3. Repositorios de imágenes de la comunidad

3.8. El archivo Dockerfile

3.9. Creación de una imagen a partir de un archivo Dockerfile

3.10. Cómo publicar una imagen en Docker Hub

3.11. Capas de una imagen

3.12. Soporte para múltiples arquitecturas

3.13. Formato de las imágenes Docker

3.14. Buscar imágenes en Docker Hub ‒ docker search

3.14.1. Buscar imágenes por nombre

3.14.2. Buscar imágenes utilizando filtros

3.15. Administración de imágenes – docker image

3.16. Descargar imágenes – docker pull

3.16.1. Descargar imágenes desde Docker Hub

3.16.2. Descargar imágenes desde un registry diferente a Docker Hub

3.17. Mostrar imágenes – docker images

3.17.1. Mostrar las imágenes que tenemos descargadas

3.17.2. Mostrar las imágenes intermedias

3.17.3. Mostrar el identificador de las imágenes

3.17.4. Mostrar el digest de las imágenes

3.18. Eliminar imágenes – docker rmi

3.18.1. Eliminar una imagen por su tag

3.18.2. Eliminar una imagen por su identificador

3.18.3. Eliminar todas las imágenes, excepto las dangling images

3.18.4. Eliminar las dangling images

3.18.5. Eliminar las imágenes que no están siendo utilizadas

3.19. Consultar el historial de una imagen – docker history

3.20. Mostrar información detallada – docker inspect

CAPÍTULO 4 Contenedores Docker

4.1. Ciclo de vida de un contenedor

4.2. Administración de contenedores – docker container

4.3. Creación y ejecución de contenedores – docker run

4.4. Hello World!

4.5. Obtener el listado de contenedores – docker ps

4.5.1. Obtener el listado de los contenedores que están en ejecución

4.5.2. Obtener el listado de todos los contenedores

4.5.3. Obtener el identificador de los contenedores que están en ejecución

4.5.4. Obtener el identificador de todos los contenedores

4.6. Ejecutar un comando dentro de un contenedor

4.7. Ejecutar un contenedor en modo interactivo

4.8. Eliminar contenedores – docker rm

4.8.1. Eliminar un contenedor que está detenido

4.8.2. Eliminar un contenedor que está en ejecución

4.8.3. Eliminar un contenedor y sus volúmenes anónimos asociados

4.8.4. Eliminar los contenedores que están detenidos

4.8.5. Eliminar los contenedores que están en ejecución y detenidos

4.9. Mostrar la salida estándar de un contenedor – docker logs

4.10. Creación de un contenedor en segundo plano

4.11. Publicar los puertos de un contenedor

4.11.1. Opción -p, --publish

4.11.2. Opción -P, --publish-all

4.12. Cómo conectarnos a un contenedor en ejecución

4.12.1. docker attach

4.12.2. docker exec

4.13. Copiar archivos y directorios – docker cp

4.14. Cómo detener un contenedor – docker stop

4.15. Cómo iniciar un contenedor – docker start

4.16. Políticas de reinicio

CAPÍTULO 5 Almacenamiento en Docker

5.1. Almacenamiento en Docker

5.2. Bind mounts

5.3. Formas de crear un bind mount en un contenedor

5.4. Crear un bind mount de solo lectura

5.5. Cómo crear las rutas de los directorios en un bind mount

5.6. Ejemplo para compartir el código fuente de una aplicación

5.7. Ejemplo para compartir un archivo de configuración

5.8. Volúmenes

5.9. Administración de volúmenes – docker volume

5.10. Creación de un volumen

5.10.1. Creación de un volumen con el comando docker volume create

5.10.2. Creación de un volumen al crear un contenedor con docker run

5.11. Inspeccionar un volumen

5.12. Obtener el listado de volúmenes

5.13. Eliminar volúmenes que no están en uso

5.14. Eliminar volúmenes

5.15. Ejemplo de creación de un contenedor con MySQL

5.15.1. Creación de un contenedor MySQL con un volumen anónimo

5.15.2. Creación de un contenedor MySQL con un volumen con nombre

5.15.3. Inicializar un contenedor de MySQL con una base de datos

CAPÍTULO 6 Redes en Docker

6.1. Redes en Docker

6.1.1. Container Network Model (CNM)

6.1.2. libnetwork

6.1.3. Drivers de red

6.2. Redes de tipo bridge

6.3. Administración de redes – docker network

6.4. Obtener el listado de redes

6.5. Creación de una red

6.6. Conectar un contenedor a una red

6.6.1. Con el comando docker network connect

6.6.2. Con la opción --network cuando se crea un contenedor

6.7. Desconectar un contenedor de una red

6.8. Inspeccionar una red

6.9. Eliminar las redes que no están en uso

6.10. Eliminar redes

6.11. Cómo conectar un contenedor Adminer con MySQL

6.11.1. Utilizando enlaces entre contenedores con la opción --link

6.11.2. Utilizando una red bridge definida por el usuario

6.12. Cómo conectar WordPress, MySQL y phpMyAdmin

CAPÍTULO 7 Docker Compose

7.1. ¿Qué es Docker Compose?

7.1.1. La especificación Compose

7.1.2. La implementación Docker Compose

7.2. Instalación de Docker Compose v2

7.3. El archivo de configuración de Docker Compose

7.3.1. version

7.3.2. services

7.3.3. volumes

7.3.4. networks

7.3.5. configs

7.3.6. secrets

7.4. Comandos de Docker Compose

7.5. Ejemplo de un servicio Apache HTTP Server

7.6. Ejemplo de un servicio MySQL

7.7. Cómo utilizar archivos con variables de entorno

7.8. Ejemplo de una aplicación con dos servicios

7.9. Despliegue de una aplicación WordPress

7.10. Creación de un entorno de desarrollo LAMP

7.11. Creación de un entorno de desarrollo LEMP

7.12. Repositorio con proyectos de ejemplo

ANEXO A docker system

Aprender Docker, un enfoque práctico

Подняться наверх