Envíos gratis en compras superiores a $6500

Docker Guía Práctica 2 Ed

Docker Guía Práctica 2 Ed

$5,305

  • Envío gratis en compras superiores a $6500
  • Autor: GONZÁLEZ RODRÍGUEZ, Alberto

    Páginas: 256

    Coedición: Alfaomega, RC Libros

    SKU: 9788494465086 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] …………………………………………………………….

    Ir a Arriba