‫Anteriormente hablamos sobre el archivo Docker Compose YAML y, en esta conferencia, hablaremos sobre
‫la línea de comandos de redacción. Los requisitos para esta conferencia son como el resto para esta
‫sección donde realmente necesita saber imágenes y contenedores, y cómo usarlos y los conceptos que los rodean de secciones anteriores, para que pueda
‫usar todos los que están dentro del comando de redacción y el YAML archivo. La herramienta de línea de comandos
‫Docker Compose está realmente separada de la herramienta Docker.
‫En realidad es un binario separado. Si estás en Docker para Windows o Docker para Mac,
‫en realidad viene incluido con eso.
‫Si también usa la caja de herramientas en Windows 7, se combina con eso.
‫Pero si estás en Linux, tienes que descargarlo por separado y puedes obtenerlo en GitHub. com / docker / componer, pero
‫también puede buscarlo en Google, y habrá un enlace en las referencias
‫para esta sección.
‫Pero debo decir muy rápido que no está diseñado para ser una herramienta de grado de producción.
‫Es súper ideal para el desarrollo local y prueba cosas muy rápidamente que, de otra manera, sería complejo escribir
‫un conjunto de comandos desde la línea de comandos. Dos comandos comunes que usaremos serán la compilación
‫de Docker, que probablemente sea lo que va a escribir el 90% del tiempo.
‫Es una ventanilla única.
‫Básicamente se trata de un único comando para hacer todo lo posible en el archivo de composición, que incluye la creación de volúmenes, la creación de redes y
‫el inicio de todos los contenedores con todas sus opciones de configuración. Luego, para limpiar cuando hayas terminado,
‫la
‫ventana acoplable se cerrará, lo que mucha gente realmente olvidará, en
‫realidad limpiará después de ti. Deshará los contenedores, eliminará las redes y los volúmenes que ya no se necesitan.
‫Le permite, con estos dos comandos, saltar y entrar rápidamente en diferentes entornos para el desarrollo.
‫Aquí es donde realmente llamo la atención de los desarrolladores que están acostumbrados a usar vagabundo y
‫otras herramientas para personalizar los entornos complicados a nivel local que necesitan para el desarrollo.
‫Una vez que les muestro Docker Compose y el archivo de composición y lo fácil que es usarlo junto con
‫un archivo Docker, realmente comienza a hacer clic para ellos, que podría ser una mejor manera y una forma más confiable de
‫configurar sus entornos.
‫Y no requiere tiempo para configurar diferentes VM o
‫la complejidad de administrar un entorno de máquina virtual.
‫para su sistema, y ​​descargar las máquinas virtuales correctas, y los complementos adecuados. , y todas las cosas que normalmente tendrían que construir
‫un entorno replicado, con Docker Compose, es tan fácil como clonar el entorno que tiene su archivo de
‫compilación de algún repositorio en algún lugar y luego ejecutar el comando de compilación de Docker.
‫Solo para darle un poco de gusto, si tuviera
‫un proyecto en el que tuviera el típico proceso de incorporación de nuevos desarrolladores, todo se trataba de aprender
‫cómo obtener las herramientas adecuadas
‫Realmente puede ser tan fácil.
‫Saltemos y juguemos. Estoy en el directorio de composición de muestra 2. El directorio compuesto de la muestra
‫1 fue simplemente algunos ejemplos visuales que mostramos en la última conferencia.
‫Pero en este caso, podremos ejecutar este y obtener un resultado rápido.
‫Solo voy a hacer una docker para componer.
‫Bueno, en realidad antes de hacer eso, déjame mostrarte lo que es.
‫Esto tiene dos servicios, o dos contenedores, y el primero es un servidor Nginx que está configurado como
‫un proxy en este caso.
‫Y eso va a estar escuchando en mi puerto 80 en mi máquina local.
‫Notarás que hay un comando de volumen allí donde realicé un montaje de vinculación a un archivo en este directorio
‫llamado archivo de configuración nginx, y realmente es un pequeño archivo muy simple.
‫No es necesariamente importante que sepamos cómo funciona ese archivo todavía. Simplemente muestra cómo, en este caso,
‫estoy tomando un archivo en mi entorno local. que almacena estos archivos de configuración por mí.
‫Digamos que este directorio es un repositorio de Git Me permite mapear ese archivo en el contenedor y, de hecho, al
‫final, verá que dice 'ro', eso significa solo lectura, lo que significa que no puedo cambiarlo en el contenedor.
‫Eso no es necesariamente requerido aquí. Solo quería mostrarte que así es
‫como harías eso en este caso. Ese archivo de configuración realmente le está
‫diciendo a Nginx: "en lugar
‫de ser un servidor web, me gustaría que sea un proxy inverso, y sentarse frente a otro servidor",
‫que en este caso llamamos a nuestro servidor web, con su servicio nombre, y ejecuta el servidor Apache 2, que es la imagen httpd
‫del repositorio de imágenes oficial en Docker Hub.
‫También puede ver, en la parte superior, he especificado una versión aquí. Así es como yo haría eso.
‫Dentro de la línea de imagen.
‫Entonces, lo que debería suceder es que cuando escribo este docker compongo, debería iniciar ambos contenedores. Debería crear una red
‫privada para los dos.
‫Se unirá automáticamente el montaje de ese archivo.
‫Abrirá el puerto y comenzará a descargar registros en mi pantalla.
‫Verás cómo, dijo, 'crear estos dos contenedores. 'En realidad está
‫creando la red.
‫Observará en mi archivo que no especifiqué un área de redes o un área de volúmenes porque en realidad
‫no son necesarios.
‫Solo son necesarios si necesito hacer algunas cosas personalizadas en la red, como cambiar las direcciones IP predeterminadas
‫o cambiar el controlador de red que se usa.
‫O en el caso de los volúmenes, puedo crear volúmenes con nombre, o usar un controlador de volumen diferente, y
‫veremos todo eso más adelante en secciones avanzadas.
‫Para que lo sepas, así de simple pueden ser estos archivos.
‫Normalmente no necesitas todo eso.
‫Esas características están ahí si las necesita, pero por lo general estos pequeños comandos muy simples como este
‫lo pondrán en marcha.
‫¿Qué he hecho? Este es ahora mi servidor Apache y mi servidor Nginx.
‫Notarás que los registros están coloreados aquí.
‫Esa es una característica clara de Compose que no necesariamente obtienes desde el primer momento
‫con Docker, ya que registrará todos los contenedores que se ejecutan en la pantalla en primer plano.
‫Siempre puedo hacer lo mismo que hago con Docker y ejecutar docker componer
‫up -d, que se ejecutará en segundo plano. o probando cosas localmente, que tengo mis registros en la pantalla.
‫Pero es agradable ver cuando estoy desarrollando
‫Si salgo a mi navegador, y luego voy a localhost, verá que dice, 'Funciona. 'Eso es realmente el
‫servidor Apache respondiendo, no el servidor Nginx.
‫El tráfico está pasando por el proxy inverso Nginx.
‫Está repitiendo el tráfico hacia el servidor Apache. El servidor Apache está respondiendo con su
‫archivo HTML básico predeterminado porque no cambiamos nada.
‫Entonces el Nginx me lo repite.
‫Por lo tanto, es su servidor web básico, configuración de proxy web.
‫Se nota que el tráfico los golpeó a ambos. En realidad funcionan a través del
‫proxy porque el
‫proxy es en realidad un color diferente aquí. Los registros se bombean aquí con un color aleatorio para cada contenedor en mi configuración para
‫que pueda ver fácilmente lo que está sucediendo.
‫Si pulso actualizar varias veces, verá el tráfico que aparece. Luego está golpeando primero el proxy y luego
‫el servidor web back-end.
‫Si quisiera detener esto aquí, presionaría Control c para detener la redacción en mi pantalla.
‫Podría ejecutarlo de nuevo con la d para ejecutarlo en segundo plano.
‫Puedes ver aquí que puedo actualizarlo y todavía está allí. Puedo hacer una portón para componer registros para ver la misma salida
‫de registros que vi hace un tiempo.
‫Muchos de los comandos que podría estar acostumbrados en Docker también están en Docker Compose. Realmente, lo que Compose está haciendo
‫es hablar con la API de Docker en segundo plano
‫en nombre de la CLI de Docker. Es como un reemplazo para la CLI de Docker que sigue hablando con
‫la API del servidor de Docker en el back-end.
‫Por supuesto, la gran ayuda aquí, docker redactar ayuda, me muestra todos los comandos que puedo ejecutar.
‫comando acoplable simplemente usando el contexto de la configuración del archivo de composición.
‫Verá que muchos de estos parecen realmente familiares porque son el equivalente del
‫Quiero limpiar todo esto porque todavía están funcionando. Puedo hacer un docker componer ps aquí, que me mostrará que
‫ambos contenedores están en ejecución.
‫Puedo hacer un docker componer arriba para realmente enumerar todos los servicios que se ejecutan dentro de ellos en
‫un buen formato de salida.
‫Eso es muy bonito.
‫Entonces, finalmente, puedo hacer un docker componer para detener y limpiar mis cosas que acabo de comenzar.
‫Verás que me está diciendo lo que se hace allí. Limpiar todo.
‫Tan estupendo.
‫Esto es solo un pequeño gusto.
‫Vamos a usar Docker Compose mucho durante el resto de este curso
‫para el desarrollo local y las pruebas. Luego, seguiremos utilizando los archivos Docker Compose a medida
‫que avanzamos hacia las preocupaciones de producción sobre cómo implementamos entornos complejos con un archivo YAML simple.