Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Este libro está diseñado para cualquiera que necesite una comprensión práctica de los contenedores Linux y de cómo pueden utilizarse para mejorar las prácticas de desarrollo y producción. La mayoría de los flujos de trabajo de integración y sistemas de producción modernos requieren que los desarrolladores e ingenieros de operaciones tengan un conocimiento firme de los contenedores Linux y de cómo pueden aprovecharse para mejorar significativamente la repetibilidad y previsibilidad en todo el sistema. A lo largo del curso exploraremos cómo construir, probar, implementar y depurar contenedores Linux dentro del ecosistema Docker. También cubriremos algunas de las herramientas de orquestación más importantes que aprovechan los contenedores Linux. Y, por último, completaremos todo esto con algunas orientaciones sobre seguridad y buenas prácticas para tuentorno de contenedores.
Quién debería leer este libro
Este libro está dirigido a cualquiera que desee resolver los complejos problemas de flujo de trabajo que conlleva el desarrollo y la implementación de software en producción a escala. Si te interesan los contenedores Linux, Docker, Kubernetes, DevOps y las grandes infraestructuras de software escalables, este libro es para ti.
¿Por qué leer este libro?
Hoy en día hay muchas conversaciones, proyectos y artículos en Internet sobre Docker, y algunos de ellos incluso han empezado a predecir la desaparición de Docker.
Entonces, ¿por qué deberías dedicar unas horas preciosas a leer este libro?
Aunque hoy en día existen otras alternativas, Docker por sí solo hizo que los contenedores Linux fueran accesibles a todos los ingenieros. Antes de que Docker creara el formato de imagen de contenedor y ayudara a crear muchas de las bibliotecas básicas que se utilizan hoy en día en los sistemas de contenedorización, los contenedores Linux eran muy difíciles de usar y seguían siendo principalmente las herramientas de empresas muy grandes de alojamiento en la nube que necesitaban proporcionar escalabilidad al tiempo que protegían sus sistemas del código de usuarios no fiables.
Docker cambió todo eso.
Aunque existe mucha información sobre Docker y los contenedores Linux, el panorama sigue evolucionando activamente, y las buenas prácticas están cambiando. Imagina que acabas de leer una entrada de blog, publicada hace cuatro años, sobre Docker. Puede que siga funcionando, pero puede que ya no sea el mejor enfoque. Durante el tiempo que tardamos en escribir la primera edición de este libro, Docker, Inc. lanzó cuatro versiones de Docker, además de algunas herramientas importantes en su ecosistema. En los siete años transcurridos entre la primera y la tercera edición de este libro, el panorama ha cambiado significativamente. Docker se ha estabilizado, y ahora existen muchas herramientas adicionales que desempeñan funciones similares. En lugar de sufrir una falta total de herramientas, ahora hay muchas opciones sólidas para casi todos los aspectos del flujo de trabajo DevOps. Comprender el alcance de lo que ofrecen los contenedores Linux y Docker, entender cómo encajan en tu flujo de trabajo y hacer bien todas las integraciones no son tareas triviales.
Hemos trabajado con múltiples empresas durante más de nueve años construyendo y operando una mezcla de plataformas de contenedores Linux de producción, incluyendo Docker, Mesos y Kubernetes. Originalmente implementamos Docker en producción sólo unos meses después de su lanzamiento y podemos compartir contigo parte de la experiencia que hemos adquirido evolucionando nuestras plataformas de producción desde entonces. Nuestro objetivo con este libro es que te beneficies de esta experiencia evitando muchos de los baches en el camino que nosotros sufrimos. Aunque la documentación en línea del proyecto Docker es muy útil, intentaremos darte una visión mucho más amplia y exponerte muchas de las buenas prácticas que hemos aprendido por el camino.
Cuando termines este libro, deberías tener suficiente información para entender qué son los contenedores Linux, qué proporciona Docker, por qué son importantes y cómo puedes aprovecharlos para agilizar todo, desde el desarrollo local hasta la producción. Debería ser un viaje fascinante a través de unas tecnologías interesantes que tienen algunas aplicaciones muy prácticas.
Navegar por este libro
Este libro está organizado de la siguiente manera:
-
Los capítulos 1 y 2 proporcionan una introducción a Docker y explican qué es y cómo puedes utilizarlo.
-
El Capítulo 3 te lleva por los pasos necesarios para instalar Docker.
-
Los capítulos 4 a 6 se sumergen en el cliente Docker, las imágenes y los contenedores, explorando qué son y cómo puedes trabajar con ellos.
-
El Capítulo 7 trata de cómo depurar tus imágenes y contenedores.
-
El Capítulo 8 presenta Docker Compose y cómo puede utilizarse para simplificar significativamente el proceso de desarrollo de servicios complejos basados en contenedores.
-
El capítulo 9 explora las consideraciones importantes para garantizar una transición fluida a la producción.
-
El Capítulo 10 profundiza en la implementación de contenedores a escala en nubes públicas y privadas.
-
El Capítulo 11 se sumerge en temas avanzados que requieren cierta familiaridad con Docker y pueden ser importantes cuando empieces a utilizar Docker en tuentorno de producción.
-
El Capítulo 12 explora algunas herramientas alternativas que pueden ser útiles en entornos Linux en contenedores.
-
El Capítulo 13 explora algunos de los conceptos básicos que se han consolidado en la industria sobre cómo diseñar la próxima generación de software de producción a escala de Internet.
-
El Capítulo 14 lo envuelve todo y lo ata con un lazo. Incluye un resumen de lo que se ha tratado y cómo debería ayudarte a mejorar la forma en que prestas y escalas los servicios de software.
Somos conscientes de que mucha gente no lee los libros técnicos de principio a fin y que algo como el prefacio es increíblemente fácil de saltarse, pero si sigues con nosotros, aquí tienes una guía rápida de algunos enfoques diferentes para leer este libro:
-
Si eres nuevo en el mundo de los contenedores Linux, empieza por el principio. Los dos primeros capítulos pretenden ayudarte a entender los conceptos básicos de los contenedores Docker y Linux, incluyendo qué son, cómo funcionan y por qué deberían importarte.
-
Si quieres lanzarte directamente a instalar y ejecutar Docker en tu estación de trabajo, pasa directamente a los Capítulos 3 y 4, que te muestran cómo instalar Docker, crear y descargar imágenes, ejecutar contenedores y mucho más.
-
Si estás familiarizado con los fundamentos de Docker pero te gustaría aprender más sobre cómo utilizarlo para el desarrollo, echa un vistazo a los Capítulos 5 a 8, que repasan muchas de las habilidades que facilitarán el trabajo diario con Docker, y concluyen con una exploración exhaustiva de Docker Compose.
-
Si ya utilizas Docker para el desarrollo, pero necesitas ayuda para ponerlo en producción, considera la posibilidad de empezar por el Capítulo 9 y continuar por el Capítulo 12. Estas secciones profundizan en la implementación de contenedores, el aprovechamiento de plataformas de contenedores avanzadas y muchos otros temas avanzados.
-
Si eres arquitecto de software o de plataformas, puede que el Capítulo 13 te resulte interesante para investigar, ya que nos sumergimos en algunas de las ideas actuales sobre las aplicaciones en contenedores y el diseño de servicios escalables horizontalmente.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
<Constant width in angle brackets>
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Utilizar ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://github.com/bluewhalebook/docker-up-and-running-3rd-edition.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si hay código que se ofrece junto con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir una colección de ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos la atribución, pero no la exigimos. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo: "Docker: Up & Running, 3e, de Sean P. Kane con Karl Matthias (O'Reilly). Copyright 2023 Sean P. Kane y Karl Matthias, 978-1-098-13182-1".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita https://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/docker-up-and-running-3e.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para obtener noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.
Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media.
Síguenos en Twitter: https://twitter.com/oreillymedia.
Míranos en YouTube: https://youtube.com/oreillymedia.
Agradecimientos
Nos gustaría enviar un sincero agradecimiento a las muchas personas que han ayudado a hacer posible cada edición de este libro:
-
Nic Benders, Bjorn Freeman-Benson y Dana Lawson de New Relic, que fueron mucho más allá en el apoyo a la primera edición, y que se aseguraron de que tuviéramos tiempo para continuarla.
-
Roland Tritsch y Nitro Software por apoyar los esfuerzos de Karl en la segunda edición.
-
Laurel Ruma, de O'Reilly, que inicialmente se puso en contacto con nosotros para que escribiéramos un libro sobre Docker, y Mike Loukides, que nos ayudó a encarrilarlo todo.
-
Un agradecimiento especial a nuestro editor de la primera edición, Brian Anderson, que se aseguró de que supiéramos en qué nos metíamos y nos guió en cada paso del camino.
-
Nikki McDonald y Virginia Wilson, que nos ayudaron a guiarnos a través del proceso de creación de una muy necesaria segunda edición de este libro.
-
Y a John Devins, Michele Cronin y Elizabeth Faerm, que trabajaron increíblemente duro para que esta tercera edición viera la luz.
-
Gracias a Yevgeniy (Jim) Brikman, autor del excelente Terraform: Up & Running, que amablemente nos ha permitido basar en gran medida el diseño del sitio web de https://dockerupandrunning.com en su trabajo anterior.
-
Presentar sucintamente una nueva tecnología a un público nuevo requiere un talento especial. Estamos muy agradecidos a Lars Herrmann, Laura Frank Tacho y Raju Ghandi por dedicar su tiempo a crear un prólogo para uno de los lanzamientos.
-
Nuestros revisores del borrador, que nos ayudaron a asegurarnos de que íbamos por el buen camino en varios momentos del proceso de redacción: Ksenia Burlachenko, que nos dio nuestra primera revisión, así como una revisión técnica completa, Andrew T. Baker, Sébastien Goasguen, Henri Gomez, Chelsey Frank, Rachid Zarouali, Werner Dijkerman, Predrag Knežević y Vishwesh Ravi Shrimali.
-
Debemos hacer un llamamiento especial a Alice Goldfuss y Tom Offermann, que nos proporcionaron comentarios detallados y siempre útiles cuando escribimos la primera edición, y a Mihai Todor por sus ánimos, su revisión técnica y sus completos comentarios sobre lasegunda edición.
-
Gillian McGarvey, Melanie Yarbrough, Justin Billing, Rachel Monaghan y Sonia Saruba por sus esfuerzos en la corrección del manuscrito y por hacer que pareciera que prestábamos atención en nuestras clases de inglés del instituto. 517 comas añadidas y contando....
-
Sue Klefstad, que nos ayudó a garantizar que el índice 3e fuera una referencia útil para todos nuestros lectores, y a Wendy Catalano y Ellen Troutman por sus esfuerzos en la indexación de las ediciones anteriores.
-
Un agradecimiento especial a Nick Adams y a todos los que trabajaron entre bastidores en O'Reilly Media para ayudar a garantizar que todo apareciera correctamente en todos los formatos de distribución.
-
Todos nuestros compañeros de New Relic y Nitro, que nos han acompañado en todo el viaje de Docker. Ellos nos proporcionaron gran parte de la experiencia que aquí se refleja.
-
Grains of Wrath Brewery, World Cup Coffee, McMenamins Ringlers Pub, Old Town Pizza, A Beer at a Time!, Taylor's Three Rock pub, y otros que amablemente nos dejaron utilizar sus mesas y su energía mucho después de que nuestros platos estuvieran vacíos.
-
Nuestras familias, por apoyarnos y darnos el tiempo de tranquilidad necesario cuando lo necesitábamos.
-
Y, por último, a todos los que nos han animado, aconsejado o apoyado de alguna manera a lo largo de este proceso.
Get Docker: Up & Running, 3ª Edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.