Inicio/Profesional/TICs y Computación/Programación/DOCKER. Guía práctica 2ª ed.

DOCKER. Guía práctica 2ª ed.

$448

Consultar disponibilidad

Autor: Alberto González

Páginas:  256

Año:  2018

Edición:  2

Editorial:  Alfaomega – RC

Apoyos: 

Nivel:  

Encuadernación: Rústica

Consultar disponibilidad

ISBN: 9786075760339 Categorías: ,

Descripción

El presente libro se constituye como una guía práctica para que el lector cuente con los elementos necesarios para la administración de Docker y el manejo de aplicaciones a través de contenedores. Docker es una forma de acceder a la tecnología de contenedores, y tiene como propósito facilitar la creación y manipulación de los contenedores. En la actualidad Docker es uno de los proyectos más populares que tiene el apoyo de empresas para su desarrollo y evolución.

En esta era de la virtualización han surgido distintas tecnologías que tienen como función principal el ahorro en los costes de las empresas, así como el aumento de sus prestaciones; es en este contexto en el que surge con fuerza Docker como una solución para las nuevas necesidades que traído consigo el Big Data. Este documento aborda temas que van desde la instalación hasta la administración más avanzada, complementados con una gran variedad de ejemplos.

VENTAJAS

• La instalación de Docker se explica tanto para sistemas Linux, Windows y OSX.

• Cuenta, a lo largo de su exposición, con elplicaciones claras y concisas y ejemplos reales.

CONOZCA

• En qué consiste la instalación de Docker en Linux, OS X y Windows.

• El proceso de creación de una imagen mediante Docker.

• Las ventajas y desventajas de cada una de los drivers de almacenamiento que nos proporciona Docker.

APRENDA

• A crear, ejecutar e inspeccionar contenedores.

• A asignar etiquetas a cada uno de los objetos de Docker y utilizar el filtrado.

• A limitar los recursos que un contenedor puede utilizar: memoria, procesador o entrada/salida de disco

DESARROLLE SUS HABILIDADES PARA

• Convertir un contenedor en una imagen y publicar una imagen en el repositorio oficial.

• Utilizar el Docker Compose para definir y ejecutar contenedores basados en una plantilla.

• Aplicar las diversas funciones que ofrece Docker Cloud y Docker Hub.

A QUIÉN VA DIRIGIDO

Este libro está dirigido a lectores que deseen iniciarse en Docker o que tengan actualmente conocimientos y quieran profundizar en ellos.

Í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

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

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

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 ………………………………………………………………………………………… 176

logging: configuración ……………………………………………………………………………….. 176

network_mode: red …………………………………………………………………………………… 176

networks: redes ………………………………………………………………………………………… 177

ports: puertos …………………………………………………………………………………………… 177

volumes: volúmenes ………………………………………………………………………………….. 177

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

Capítulo 14: Docker Hub ……………………………………………………………………………………… 219

Introducción ………………………………………………………………………………………………….. 219

Organizaciones ……………………………………………………………………………………………. 219

Repositorios ………………………………………………………………………………………………… 221

Automatizar creación …………………………………………………………………………………… 221

Webhooks …………………………………………………………………………………………………… 224

Capítulo 15: Swarm ……………………………………………………………………………………………. 227

Introducción ………………………………………………………………………………………………….. 227

Terminología ……………………………………………………………………………………………….. 228

Arquitectura ……………………………………………………………………………………………….. 228

Crear un Swarm …………………………………………………………………………………………… 229

Añadir los nodos de trabajo ………………………………………………………………………….. 231

Desplegar un servicio …………………………………………………………………………………… 232

Escalar un servicio ……………………………………………………………………………………….. 233

Eliminar un servicio ……………………………………………………………………………………… 235

Publicar puertos ………………………………………………………………………………………….. 235

Eliminar nodo ……………………………………………………………………………………………… 237

docker service ……………………………………………………………………………………………… 237

ls [opciones] ……………………………………………………………………………………………… 237

inspect [opciones] servicio ………………………………………………………………………….. 238

ps [opciones] servicio …………………………………………………………………………………. 239

scale servicio=replicas ……………………………………………………………………………….. 239

create [opciones] imagen ………………………………………………………………………….. 239

update [opciones] servicio ………………………………………………………………………………. 241

docker node ………………………………………………………………………………………………… 243

ls [opciones] ……………………………………………………………………………………………… 243

ps [opciones] [nodo] ………………………………………………………………………………….. 244

inspect [opciones] [nodo] …………………………………………………………………………… 244

update [opciones] [nodo] …………………………………………………………….

Información adicional

Peso .500 kg
Dimensiones 23 × 17 × 2 cm

Título

Ir a Arriba