DOCKER

DOCKER. GUIA PRACTICA

Editorial:
ALFAOMEGA GRUPO EDITOR
Año de edición:
Materia
LENGUAJES PROGRAMACIÓN
ISBN:
978-958-778-397-1
EAN:
9789587783971
Páginas:
256
Encuadernación:
Rústica
Disponibilidad:
ENTREGA INMEDIATA

$ 58.000,00

U$ 19,95 16,30 €

Comprar

Docker es uno de los productos emergentes con más importancia en la actualidad. La necesidad de poseer infraestructuras dinámicas y el ahorro de costes han llevado a las empresas a cambiar su modelo de trabajo por uno flexible y fácilmente adaptable a las nuevas necesidades. Con el uso de los contenedores, tecnología utilizada por Docker, ha variado la forma de trabajar tanto de programadores como de administradores de sistema.

La utilización de Docker se ha multiplicado en los últimos años, convirtiéndose en un requisito necesario que, incluso, ha significado la creación de un nuevo puesto de trabajo: DevOps, personas con conocimiento tanto de la parte de administración, como de la virtualizacióna nivel de sistema operativo y el uso de las utilidades básicas para dar soporte a los programadores.

Este libro está dirigido tanto a principiantes en el mundo de la virtualización y el desarrollo, como a personas con conocimientos previos o incluso usuarios avanzados que descubrirán todas las tareas que se pueden realizar con Docker. Además, se acompaña de toda la información para completar las acciones más comunes, de explicaciones claras y de ejemplos reales.

ÍNDICE
Prefacio ............................................................................................................................... XI
Capítulo 1: Introducción ....................................................................................................... 1
Contenedores vs virtualización .............................................................................................. 2
Docker al rescate .................................................................................................................... 4
El futuro.................................................................................................................................. 6
Contenido de un contenedor ................................................................................................. 7
Imágenes ................................................................................................................................ 9
Componentes ....................................................................................................................... 10
Capítulo 2: Instalación ........................................................................................................ 13
Instalación en Linux (Versión comunitaria) .......................................................................... 13
Instalación automática ................................................................................................... 13
Ubuntu ............................................................................................................................ 14
Debian ............................................................................................................................ 15
CentOS y Red Hat Enterprise Linux ................................................................................. 17
Fedora ............................................................................................................................. 19
Instalación en Linux (Versión empresarial) .......................................................................... 20
Red Hat Enterprise Linux ………………………………………………………………………………………….. 20
SUSE Linux Enterprise ………………………………………………………………………………………………..21
Habilitar e iniciar servicio ............................................................................................... 23
Instalación en OS X ............................................................................................................... 23
Instalación en Windows (Version comunitaria) .................................................................... 25
Instalación en Windows Server (Version empresarial) ......................................................... 27
docker info ........................................................................................................................... 28
Capítulo 3: Primeros pasos ................................................................................................. 29
Ejecutar primer contenedor ........................................................................................... 29
Inspeccionar un contenedor ........................................................................................... 32
Contenedor en modo interactivo ................................................................................... 33
Contenedor en segundo plano ....................................................................................... 34
Detener contenedor ....................................................................................................... 36
Iniciar contenedor .......................................................................................................... 36
Exponer puertos ............................................................................................................. 37
DOCKER. Guía práctica
VI © RC Libros
Capítulo 4: Contenedores ................................................................................................... 41
Crear contenedores sin ejecutarlos................................................................................ 41
Acciones básicas sobre contenedores ......................................................................... 42
start [opciones] contenedor ...................................................................................... 43
attach [opciones] contenedor ................................................................................... 43
stop [opciones] contenedor ...................................................................................... 44
restart [opciones] contenedor .................................................................................. 44
rename contenedor nuevo_nombre ........................................................................ 44
ps [opciones] ............................................................................................................. 44
logs [opciones] contenedor ....................................................................................... 45
pause/unpause contenedor ..................................................................................... 46
kill [opciones] contenedor ......................................................................................... 46
top contenedor [opciones ps] ................................................................................... 47
rm [opciones] contenedor ......................................................................................... 47
exec [opciones] contenedor comando ...................................................................... 47
run/create [opciones] imagen comando .................................................................. 48
Copia de seguridad ...................................................................................................... 50
Restaurar ..................................................................................................................... 50
Inspeccionando contenedores .................................................................................... 50
Obteniendo estadísticas de uso................................................................................... 56
Obteniendo eventos desde el servidor ....................................................................... 56
Capítulo 5: Imágenes .......................................................................................................... 59
Introducción ................................................................................................................... 59
Listar imágenes .............................................................................................................. 59
Buscar imágenes en el repositorio oficial ...................................................................... 60
Descargar imagen ........................................................................................................... 62
Historial de una imagen ................................................................................................. 63
Copia de seguridad ......................................................................................................... 64
Restaurar ........................................................................................................................ 65
Eliminar una imagen ...................................................................................................... 65
Convertir un contenedor en una imagen ....................................................................... 66
Etiquetado de imágenes................................................................................................. 68
Publicar una imagen en el repositorio oficial ................................................................. 69
Repositorio local ............................................................................................................. 70
Configurar repositorio ………………………………………………………………………………………………. 74
Capítulo 6: Generar imágenes ............................................................................................. 79
Dockerfile ....................................................................................................................... 79
FROM ........................................................................................................................ 83
MAINTAINER ............................................................................................................. 83
RUN .......................................................................................................................... 83
CMD .......................................................................................................................... 84
EXPOSE ..................................................................................................................... 85
ADD ........................................................................................................................... 85
ÍNDICE
© RC Libros VII
COPY ......................................................................................................................... 87
ENTRYPOINT ............................................................................................................. 87
VOLUME .................................................................................................................... 88
USER .......................................................................................................................... 89
WORKDIR .................................................................................................................. 90
SHELL ......................................................................................................................... 90
LABEL ........................................................................................................................ 91
ENV ........................................................................................................................... 91
ARG ........................................................................................................................... 92
HEALTHCHECK ........................................................................................................... 93
Ejemplo ........................................................................................................................... 93
Capítulo 7: Redes ............................................................................................................... 95
Introducción ................................................................................................................... 95
Redes predefinidas ...................................................................................................... 95
Listar redes ................................................................................................................... 96
Crear red ...................................................................................................................... 97
Crear red con rango autogenerado .............................................................................. 97
Crear red con rango específico .................................................................................... 98
Crear red sin acceso al exterior .................................................................................... 98
Especificar red al crear un contenedor ........................................................................ 98
Inspeccionar red .......................................................................................................... 99
Conectar y desconectar contenedor a/de una red .................................................... 100
Eliminar una red ......................................................................................................... 102
Capítulo 8: Almacenamiento ............................................................................................ 103
Introducción ................................................................................................................. 103
AUFS ........................................................................................................................... 106
OverlayFS/OverlayFS2 ................................................................................................ 109
Device mapper ........................................................................................................... 111
Brtfs ........................................................................................................................... 117
ZFS .............................................................................................................................. 121
Volúmenes ................................................................................................................. 124
Plugins para volúmenes ............................................................................................. 129
Capítulo 9: Etiquetas ........................................................................................................ 133
Introducción ................................................................................................................. 133
Contenedores ............................................................................................................ 133
Imágenes .................................................................................................................... 135
Volúmenes ................................................................................................................. 137
Redes ......................................................................................................................... 137
Capítulo 10: Limitar recursos ............................................................................................ 139
Introducción ................................................................................................................. 139
Memoria .................................................................................................................... 139
Procesador ................................................................................................................. 143
DOCKER. Guía práctica
VIII © RC Libros
Almacenamiento: Entrada/Salida (I/O) ..................................................................... 145
docker update............................................................................................................ 148
Capítulo 11: Registros ....................................................................................................... 151
Logging drivers ............................................................................................................. 151
json-file ................................................................................................................... 153
syslog ...................................................................................................................... 154
journald .................................................................................................................. 156
gelf .......................................................................................................................... 157
fluentd .................................................................................................................... 158
awslogs ................................................................................................................... 160
splunk ………………………………………………………………………………………………………………. 161
etwlogs ................................................................................................................... 162
gcplogs .................................................................................................................... 162
Capítulo 12: Docker Compose ........................................................................................... 165
Introducción ................................................................................................................. 165
Instalación ................................................................................................................. 167
Primeros pasos .......................................................................................................... 168
Acciones básicas ........................................................................................................ 171
up [opciones] [servicio] ........................................................................................... 171
ps [servicio] ............................................................................................................. 172
down [opciones] [servicio] ...................................................................................... 172
start [servicio] ......................................................................................................... 172
stop [-t timeout] [servicio] ...................................................................................... 172
Sintaxis plantilla ......................................................................................................... 173
version: versión ....................................................................................................... 173
build: directorio ...................................................................................................... 173
context: directorio o url .......................................................................................... 174
dockerfile: fichero ................................................................................................... 174
args: argumentos .................................................................................................... 174
command: comando ............................................................................................... 174
entrypoint: comando .............................................................................................. 174
container_name: nombre ....................................................................................... 175
depends_on: servicios ............................................................................................ 175
environment: valores .............................................................................................. 175
env_file: fichero ...................................................................................................... 175
expose: puertos ...................................................................................................... 176
imagen: imagen ...................................................................................................... 176
labels: etiquetas ...........................................................................
ÍNDICE
© RC Libros IX
Ejemplo ...................................................................................................................... 177
Acciones ..................................................................................................................... 179
pause [servicio] ....................................................................................................... 179
unpause [servicio] ................................................................................................... 180
build [opciones] [servicio] ....................................................................................... 180
config [opciones] ..................................................................................................... 181
create [opciones] [servicio] ..................................................................................... 182
events [opciones] [services] .................................................................................... 183
exec [opciones] servicio comando [argumentos] ................................................... 183
kill [opciones] [servicio] .......................................................................................... 183
logs [opciones] [servicio] ........................................................................................ 184
port [opciones] servicio puerto ………………………………………………………………………….185
pull [--ignore-pull-failures] [servicio] ....................................................................... 185
push [--ignore-push-failures] [servicio] ................................................................... 185
Capítulo 13: Docker Cloud ................................................................................................ 187
Introducción ................................................................................................................. 187
Terminología .............................................................................................................. 187
Instalar nuestro propio nodo ..................................................................................... 188
Desplegar un servicio ................................................................................................. 191
Crear un stack ............................................................................................................ 194
Sintaxis plantilla stack ................................................................................................ 196
Escalar un servicio ..................................................................................................... 197
Triggers (disparadores) .............................................................................................. 198
Repositorios ............................................................................................................... 199
Conectar a Github ...................................................................................................... 201
Autotest ..................................................................................................................... 204
Cliente Docker Cloud.................................................................................................. 206
Instalación .................................................................................................................. 206
Acciones ..................................................................................................................... 208
action [subacción] ................................................................................................... 208
container [subacción] .............................................................................................. 209
event ....................................................................................................................... 210
node [subacción] ..................................................................................................... 210
nodecluster [subacción] .......................................................................................... 212
repository [subacción] ............................................................................................. 213
run [opciones] ......................................................................................................... 213
service [subacción] .................................................................................................. 215
stack [subacción] ..................................................................................................... 217
trigger [subacción] .................................................................................................. 218
up [opciones] ........................................................................................................... 218
docker-cloud stack up. ............................................................................................ 218
DOCKER. Guía práctica
X © RC Li