Docker y Docker Compose: despliegue de proyectos desde cero | Oleksandr Kocherhin | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Docker y Docker Compose: despliegue de proyectos desde cero

teacher avatar Oleksandr Kocherhin

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      1:17

    • 2.

      ¿Por qué necesitas un docker?

      6:37

    • 3.

      Planificar nuestra aplicación

      8:40

    • 4.

      Herramientas de instalación

      3:33

    • 5.

      Crear el archivo de docker

      10:35

    • 6.

      Crear una aplicación api

      6:58

    • 7.

      Preparación de la imagen de api

      8:48

    • 8.

      Comenzar el servidor api

      6:28

    • 9.

      Docker

      7:01

    • 10.

      Variables de entorno

      9:29

    • 11.

      Añadir base de datos

      17:35

    • 12.

      Hacer solicitudes de bases

      11:48

    • 13.

      Volúmenes

      19:15

    • 14.

      Servicio de Auth

      12:30

    • 15.

      Servicio de Frontend

      11:43

    • 16.

      Encabezado de frontend en producción

      11:51

    • 17.

      Docker exec

      4:56

    • 18.

      Configuración de nginx

      16:17

    • 19.

      Proxying solicitudes de api

      14:53

    • 20.

      Red Docker

      11:58

    • 21.

      proxy de Frontend

      15:12

    • 22.

      Afinación

      14:30

    • 23.

      Hazlo tú mismo. Mailer

      2:42

    • 24.

      Pushing a git

      6:05

    • 25.

      Configuración del servidor de producción

      8:14

    • 26.

      Proyecto de implementación

      10:13

    • 27.

      Limpieza

      3:38

    • 28.

      Proyecto

      1:45

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

552

Estudiantes

1

Proyectos

Acerca de esta clase

En este curso, construiremos un ejemplo de aplicación real usando Docker y Docker Compose. Este curso está totalmente centrado en la creación de aplicaciones reales con Docker y Docker Compose. Empezaremos desde cero cero y paso a paso. Comprenderás profundamente cómo estructurar tu aplicación, crear archivos de configuración para Docker y archivos de configuración dividida. Escribiremos el código de manera eficiente y evitaremos la complejidad.

Para cada lección obtendrás código fuente de la lección, así que es fácil ver el progreso y conseguir una aplicación and cualquier lección que quieras.

Al final de este curso, serás capaz de:

  • Desarrollar y implementar proyectos con Docker y Docker Compose
  • Construir aplicaciones reales con Docker desde cero
  • Aprende Docker con el uso real

Lo que aprenderás en este curso:

  • Estructura y configuración de archivos y proyectos

  • Proyecto dividida en los servicios

  • Comprender las imágenes/volantes, las redes/contenedores

  • Implementar el desarrollo y el entorno de producción

  • Configura tu propio servidor y la aplicación ahí (tendrás que pagar por un servidor para la implementación o simplemente seguir)

A quién es este curso:

  • Este curso es para ti si quieres desarrollar y implementar proyectos reales de principio a fin con Docker
  • Este curso es para todos los que te interesan aprender el despliegue de Docker en proyecto real
  • Este curso es para ti si quieres mejorar los conocimientos de Docker y Docker Compose

Qué habilidades necesitas:

  • Una computadora en la que puedes instalar un software (Windows, Mac OS o Linux)
  • Las habilidades básicas de linux son más (no obligatorias)
  • Para el despliegue, necesitarás un servidor real linux para lo normalmente necesitas pagar (no obligatorias. Solo puedes seguirlos)

Si te sientes aprende Docker, pero todavía sigues teniendo conocimientos básicos de cómo construir tu propia aplicación real, este curso es lo que necesitas. Este curso está totalmente centrado en resolver los problemas reales con el despliegue, y el desarrollo de la aplicación sin aprender las posibilidades secas sin tener más posibilidades.

Conoce a tu profesor(a)

I am a full-stack developer with a passion for learning and teaching what I know. I have been programming for around 10 years and teaching for almost 6 years.

I believe in learning through doing and this philosophy is present in every course that I teach. I love exploring new web & mobile technologies and my courses focus on giving you the edge in our fast-moving industry.

Ver perfil completo

Habilidades relacionadas

Desarrollo Herramientas de desarrollo Docker
Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Bienvenido a mi curso sobre dark y docker-compose. Es genial tenerte aquí. En este curso, aprenderás a crear un proyecto real desde cero. No solo aprenderás algunas características de la droga o la documentación oficial. Verás en el ejemplo real que consiste en cinco microservicios, cómo podemos mejorar nuestro desarrollo y despliegue local. Empezaremos con la carpeta vacía y terminaremos con la aplicación real que se estará ejecutando en nuestro servidor de producción. interior no hay cosas teóricas. Aprenderás a menos que el personal que realmente necesites para usar Docker y Docker Compose para tus propias aplicaciones como contenedores, imágenes, volúmenes, redes, y mucho, mucho más. Al final de este curso, seguramente podrás crear tus propias aplicaciones de cualquier complejidad usando docker y docker compose. ¿ Quién soy yo? Mi nombre es Alexander cohesión y soy desarrollador web, tenía más de diez años de experiencia, así como un instructor profesional con diversos cursos en cuanto a tecnologías web. Yo hice todo lo posible para poner todo mi conocimiento dentro este curso y quiero compartirlo contigo. Así que bienvenidos a bordo y empecemos. 2. ¿Por qué necesitas un bailado?: en medios de tesis. Quiero aclarar por qué darwiniano más oscuro. Entonces básicamente la primera pregunta es qué es DACA Si vas a la web oficial. No podía calmarme. Hay un link y docker y aquí puedes leer algo sobre desarrollar con DACA. Entonces, básicamente, la idea principal es que hoy estamos desarrollando mucho EPS y es diferentes frameworks, diferentes lenguajes, diferentes arquitecturas y diferentes herramientas, y todo aumenta la complejidad. Y este es exactamente el problema que el hablador está tratando de resolver. Imaginemos un caso de uso sencillo. Por ejemplo, estás haciendo alguna aplicación de SIG. Entonces es solo una página web y no tienes tocino. No hubo vítores, por ejemplo, expresos. Entonces tienes alguna base de datos, por ejemplo mongo db, y tienes algo de frente y digamos reaccionar. Y básicamente, tal vez este es el pequeño proyecto. Entonces estas son tres cosas principales que necesitas base de datos back end y front end. Y el punto es que en algún momento, quieres abrir el dedo del pie tu frío en otra máquina, ¿qué problema tendrás? El primer problema es recordar todas las tecnologías que usaste, por ejemplo, usar alguna versión fuera del nodo, y tal vez desarrollaras tu proyecto como hace un año o dos años y ¿lo actualizó con la nota reciente? Y luego solo usas este proyecto en tu máquina. Instalas el último nodo y luego nada está funcionando porque básicamente, algo está dentro. No se cambiaron sillas, lo cual está bien, pero básicamente no buscamos ninguna versión dentro de nuestro proyecto. Y tal vez ni siquiera recordamos a qué versión de nodo se dirigirá allí. Y lo mismo va con cada herramienta que utilizaste. Por ejemplo, puede ser base de datos y luego instalaste en base de datos Cuba, y luego necesitas hacer calificar tus datos de alguna manera porque la versión es diferente y esto no te da estabilidad fuera de desarrollo. Creo que si estás buscando a los sirios, ya tienes algo de experiencia y algún problema en habilidades, lo que significa que te pueden trabajar en algún equipo y empresa, y básicamente, normalmente cuando llegas a alguna empresa, necesitas configurar tu máquina. Y diría a partir de mi experiencia en casi todos porque es proceso realmente duro, como necesitas configurar muchos programas en tu máquina, a veces con específico donde Shen's tal vez haya una empresa. Documentación como cómo instalar todo, pero está desactualizada. Y luego algo se rompe y hay que arreglarlo y pedir como diferentes personas en la nueva empresa que lo monten correctamente. Y puede tardar como, 23 días. Y tuve esta experiencia y vieron a otras personas luchando. Y entonces este proceso continúa una y otra vez para cada nueva persona en una empresa, y el médico resuelve exactamente este problema. Entonces básicamente estás seguro de que tienes frío está funcionando exactamente igual ahí. Cualquier máquina, no está en las obras en mi máquina, y luego otra persona puede comenzar. Esto es como fácil a bordo en cuatro desarrolladores diferentes, soporte fácil, y estás seguro de que tu proyecto funcionará. Hablé sólo de desarrollo, pero ¿qué pasa con el despliegue? Digamos que queremos mover nuestro frío dedo del pie el servidor para que sea accesible en Internet para todos. Y esto es como el proceso estándar. Lo estamos haciendo con cada proyecto, y básicamente siempre hay problemas ahí, como si quisieras desplegar tu conocida aplicación Jess. Acabas de correr al servidor. Necesitas instalar no hay con versión específica ¿Y qué harás cuando tengas varios proyectos diferentes ahí con diferentes versiones de nodo o con diferentes dependencias? Y luego has instalado uber en herramientas más nuevas y luego tal vez todas las herramientas que ya no necesitas porque algún proyecto es obsoleto. Y luego solo tienes un lío con diferentes bibliotecas, diferentes versiones. Y todo esto es incontrolable. Diablos, tal vez recuerdas cómo la gente estaba desplegando proyectos anteriormente, por ejemplo, con FTP Klein como vil zilla, eran Korpi en solo archivos fuera del proyecto directamente al servidor. Entonces, por supuesto, gente entendió que no es escalable. Diferentes personas pueden desplegar las cosas simultáneamente y así sucesivamente. Y ahí. Vamos herramientas como, por ejemplo, instable o títere, donde solo contrite recita lo que necesitas hacer para desplegar tu aplicación. Sí, claro, es más fácil con este tipo de herramientas, pero no resuelve el problema. Desean tener un frío estable, que será exactamente el mismo en todas partes donde podamos iniciar nuestro código con un solo comando para el desarrollo localmente, y podemos implementarlo en cualquier cantidad fuera de servidores con un solo comando y gestionarlo fácilmente ? No puedo, por supuesto, decir que el doctor es una bala de plata. Por supuesto que no lo es, pero aborda y resuelve muchos problemas para proyectos pequeños, medianos y enormes. Y muchas empresas de todo el mundo están usando docker con éxito y realmente no lo es . Pequeño. El proyecto es solución realmente estable que ya se usaron muchos años. El Dr. Hoy en día es un enorme ecosistema con diferentes productos, servicios de pago, servicios gratuitos, diferentes herramientas y así sucesivamente. Y cuando empecé a aprender, Docker para mí era la pregunta. ¿ DACA resuelve mis problemas? No fue como DACA es nueva cosa cool go. Ellos quieren probarlo. Yo realmente quería resolver mis problemas y mi problema waas que quiero un entorno de desarrollo y producción consistente donde funcione en cualquier máquina de la misma manera y no voy a luchar y esto es exactamente lo que quiero cubrir en este curso. No se trata de aprender Dhaka de principio a fin y aprender las todas las herramientas que existen sobre Docker. Es solo para resolver el problema fuera desarrollo de consistencia localmente y desplegar en el proyecto a la producción con el mismo bistec, fácil y sin problemas. Si tiene algún comentario o pregunta, siéntase libre de preguntarme y les responderé con seguridad 3. Planifica nuestra aplicación: en este video. Quiero hablar de Dr Tools que usaremos en nuestra aplicación y hablar estructura fuera de toda la aplicación. Entonces, primero, hablemos de herramientas. Las únicas herramientas adicionales que usaremos excepto fuera del médico en sí es docker componer. No vamos a utilizar ninguna otra herramienta en el discurso en todo el documento en sí es realmente bajo nivel del dedo del pie , así que si usamos platicar directamente, necesitamos escribir muchos comandos diferentes. En la consola estaba diferente atributo, que a veces es difícil de recordar, y queremos usar Docker componer como simple de rapero para DACA del cual maneja, de manera fácil, nuestros contenedores. Entonces básicamente, con Docker componer, podemos describir cómo se construirán todos nuestros contenedores y cómo se comportarán en diferentes ambientes. Si sabes algo de DACA. A lo mejor la pregunta ahora es. ¿ Y la máquina de acoplamiento o Dockers? Cálido o fresco? Burnett lo es, y así sucesivamente. ¿ Hablaré de esto? La tecnología está en el curso, y entonces mi respuesta es no. Lo llevaremos crujiente y pequeño con stock una composición y esta es una herramienta realmente bonita, y solo necesitas est'll. Una herramienta excepto la propia Dhaka, por supuesto, para desplegar las aplicaciones fuera de tamaño pequeño y mediano desde mi punto de pocos, 90% de descuento en Internet puede existir con proyectos en sola Sarah con, por ejemplo, base de datos única y con iniciada con docker componer, podemos gestionar, comer e implementar fácilmente nuestros proyectos y desarrollarlos localmente. Y después, si lo necesitas, puedes invertir tu tiempo y dinero en soluciones escalables para mucho servicio como, por ejemplo,nativos de por ejemplo, Cooper y mejorarlo ahí. Pero normalmente entonces estás en otro 10% de descuento en Internet, y este curso no es suficiente para ti. Ahora hablemos de nuestro proyecto. Básicamente, no es algún proyecto en el que simplemente pensaron que no existe. Este es el proyecto rial que desarrollé no hace mucho tiempo, por lo que es 100% riel y funciona realmente agradable en producción sin ningún problema. Al usar Chazz, DACA y Docker componen. Me gusta este ejemplo porque muestra las posibilidades con Docker componer y es realmente adecuado para la mayoría de los proyectos que la gente puede desarrollar, que significa que después de terminar el discurso, puedes usar todo lo que implementamos para crear tu proyecto propio. Entonces, ¿qué tenemos aquí? Tenemos un frente y una parte fuera de nuestra aplicación, que estaremos haciendo en reaccionar. Básicamente, no lo haremos. Derecho ¿Cualquier código directo de rial, como crear toda la aplicación o algo así? Nuestra idea es que al frente, y sólo tenemos una aplicación directa que se puede iniciar. Entonces básicamente, este frente y parte es nuestro primer servicio y por qué estamos hablando de servicios servicio significa algo aislado, lo que significa que solo podemos tomar este único servicio, por ejemplo, frente y desarrollar comer por su cuenta si queremos por qué el servicio es un buen porque cada servicio tiene un alcance completo y puede utilizar diferentes tecnologías dentro de diferentes marcos y así sucesivamente. Por ejemplo, se puede decir, OK, mi primer servicio con un pastel es usar sillas conocidas, y mi segundo servicio con el chico es usar ruby, por ejemplo, y están completamente aislados y simplemente funcionan en sus aplicaciones simultáneamente juntas. De acuerdo, entonces nuestros primeros servicios frente y donde obtendremos datos. Básicamente, necesitamos algún epi. Yo que rublo exceso en nuestro frente. Y así lo dividí nuestro a pastel en dos servicios diferentes. One a pastel está relacionado con los pagos de los usuarios y cada todo lo que está relacionado con los usuarios. Entonces esto es algo así como autenticación FBI. Por lo que sólo está relacionado con los usuarios Fuera de curso necesitamos almacenar en algún lugar todos los datos de nuestra A p. I . Por lo que necesitamos una base de datos para nuestro servicio Sur. Dormiré. Yo servicio. Entonces básicamente necesitamos en su servicio, que será un servicio de base de datos. Por lo que tendremos dentro de la base de datos Mongo DB para nuestro servicio de autenticación. Como ya dije, tenemos otro día. Este imperio es menos importante. Esto está relacionado con todas las entidades que tenemos en nuestra aplicación. Entonces básicamente, por ejemplo, posar a los usuarios o comentarios o categorías, o no sé que tres fuera de las categorías y así sucesivamente. Entonces básicamente no esa cosa importante. Entonces básicamente, este es exactamente el punto por el que lo dividí en diferentes servicios, porque cuando estoy trabajando con eso, una base de usuarios de pagos, necesito estar como súper enfocada. No lo hago yo simplemente no puedo hacer un nunca ahí. Pero cuando estoy trabajando con base de datos fuera, algunas cosas no tan importantes, como actualizar la categoría Y justo cuando una categoría en la página web está rota, no es gran cosa. Pero cuando se pierde el pago del cliente, es como la tragedia. De acuerdo, así que solo para que quede claro por ahora, hablé de frente y servicio nuestro servicio de sindicación, servicio base de datos de autenticación ap I service y fuera del servicio de base de datos del FBI. Por lo que tenemos por ahora, cinco servicios. Ahora, un servicio más y este es el servicio de Mailer. Básicamente, para mí, este es el servicio que necesitamos en cada aplicación. Pero tal vez si no tienes Malin o autenticación, no la necesitas. Básicamente, todo lo que está relacionado con los usuarios de Malin está haciendo ahí. Entonces, básicamente, si el usuario está registrado y recibe un correo electrónico o olvidó el pasaporte, recibe un correo electrónico. Esto es lo que está haciendo este servicio. Entonces, básicamente, si tienes alguna identificación masculina, trasladé a servicio adicional. Y ahora un servicio más. Y sin este servicio, no podemos irnos con seguridad, y este es el servicio n jinx. Básicamente, si no sabes lo que hay en jinx, esta es muy útil herramienta, que en realidad es mucho equilibrador y tener observador y el proxy y en realidad lo que quieras . Entonces, en cada proyecto que quieras toe configure dónde, por ejemplo, tus solicitudes para entrar cuando vengan a tu anfitrión? Digamos que tu hostess food bar dot com. Entonces, básicamente, si tu búsqueda es barra completa que vienen querías ir a tu front end. Pero si es slash AP I a Dent y no conozco Post, entonces quieres dedo del pie ir a nuestra paga y así sucesivamente. Entonces básicamente, este servicio configurará el motor ICS en su interior y resolverá todos los agujeros y todas las sequías fuera de nuestra aplicación. Entonces esto es todo. Estos son todos los servicios que implementaremos en estos autos. Pero tal vez si tu proyecto es más pequeño, puedes irte solo con front end y luego llamarte con tu cielo y adicionalmente base de datos , que significa que lo necesitas menos tres servicios y, por supuesto, n jinx. Lo que nos lleva a cuatro. Por lo que esta es la cantidad más baja de servicios que veo posible para aplicación normal con frontal y señas. Si mantuviste, por ejemplo, en la lluvia de tendencia señalizada, digamos que tienes como ruby on rails y simplemente plantillas en Beck, y entonces no necesitas, por supuesto, front end. Y este es solo un servicio para señas, uno para base de datos y otro para en jinx. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 4. Instalación de herramientas: en este video. Yo quiero hablar de herramientas que necesitamos instalar para empezar a desarrollar formas más oscuras. Y la herramienta más importante para nosotros es la oscuridad. Un escritorio espero que así. Básicamente, esta es la instalación oscura la cual tiene todo dentro de lo que necesitamos. Entonces básicamente, aquí en sitio web oficial docker, puedes ir al producto y aquí está oscuro Un escritorio. Sólo tienes que hacer clic en el enlace y aquí condonas laureado Former Quest, por ejemplo, o para Windows. Por lo que acaba de instalar esta aplicación. Y después de la instalación, tienes algo como esto en tu bar cuando empezó. Al igual que el escritorio DACA se está ejecutando así que básicamente acaba de empezar y se cuelga aquí en la barra y esto significa que podemos desarrollar nuestras aplicaciones con charla. Por lo que ya tengo instalado el escritorio DACA y vamos a comprobar si tenemos capacidad para trabajar con él . Entonces básicamente, estoy aquí en la consola y si voy a secar dock menos versión, por ejemplo, debería darme una aversión oscura. Esta cosa está disponible a través de este perro un escritorio. Ahora si estamos escribiendo por ejemplo, ayuda médica, entonces veremos muchos comandos los cuales son posibles de usar porque aquí ya estaba instalado el médico . Ahora respecto a otras herramientas. Básicamente, cuando estás en estilo docker para escritorio, obtienes cabello oscuro y docker componer. Entonces básicamente, aquí puedo secar docker componer menos moda, y también obtienen su salida. Esa composición docker está instalada, y básicamente la idea de una composición más oscura y oscura es que no necesitas instalar nada. Adicionalmente como, digamos que estamos justo en nuestro pastel sin jazz. Esto no quiere decir que tengamos que instalarlo en nuestra máquina. Queremos instalarlo a través de acoplador dentro de contenedores. Esto significa que nuestra máquina siempre estará limpia y no tendrá instalaciones innecesarias. Pero en alcance de este curso, te recomiendo instalar jazz conocido en joven propia máquina desde la página oficial. No necesitas hacerlo cuando conoces a Darkened aka compuso últimamente. Pero en este curso, quiero mostrarles esta migración fuera de su desarrollo local dentro del Dhaka, y será más fácil mostrarles si Bushehr note y en PM disponibles en su consola. Como pueden ver, ya tengo nota de la rusa Soutine en realidad no importa tanto. Al menos necesitas tener algo mejor que 10. Básicamente, en el sitio web oficial, simplemente necesitas descargar aquí tu paquete para nodo, por ejemplo, Para 12 o para 13. En realidad no importa tanto. Por lo que cuando lo instale en su nodo de consola menos versión debería darle con una versión antigua . Si obtienes este resultado, esto significa ahora que tu máquina está instalada correctamente y ya estás listo para funcionar. Por lo que si instalaste con éxito un médico y anotas en tu máquina, entonces estás listo para iniciar este curso y no necesitas ninguna otra cosa para ser instalada . Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 5. Crear un archivo docker: en este video, comenzaremos con la creación de nuestro archivo docker y Docker componer básicamente aquí. Ni siquiera creé la carpeta para nuestros proyectos. Por lo que estamos empezando con rasguño completo. Entonces creo que podemos nombrar a nuestro Proyecto Riel World con algunas palabras del doctor. Entonces digamos que es riel mundo. Dr. Entonces en este caso, entendemos que este es un ejemplo realmente mundial donde estamos escribiendo código para el proyecto con DACA. Entonces aquí quiero iniciar el editor y aún no tenemos ningún archivo. Entonces el primer archivo que quiero crear es hablar aquí compuesto dot jahmal. Entonces este es el archivo donde escribiremos nuestra configuración de componer docker. Ya hablé un poco de lo que Docker lo compone, pero vamos a revisar en Google. Entonces básicamente estamos justo en Docker componer y saltar dentro de la web oficial a la composición. Y básicamente aquí está la idea fuera de lo compuesto. Entonces esta es una herramienta donde definimos unir contenedores docker, lo que significa que creamos un archivo jahmal y esta es la descripción de cómo funcionarán nuestros servicios de aplicación . Cómo se iniciará y detendrá los contenedores qué configuraciones y entornos son los contenedores contenidos necesitan para diferentes entornos, por ejemplo, para el desarrollo local fuera de una producción y así sucesivamente. Entonces, básicamente, desde mi punto de pocos, Docker es herramienta de bajo nivel donde necesitas escribir mucho. Pero esto es súper flexible y Docker componer es un bonito rapero de alto nivel donde simplemente lo declaras. Lee describió lo que quieres lograr y Docker componer se debe en tesis con DACA. Entonces empecemos a escribir en nuestro Docker componer lo primero que necesitamos decir Aquí hay una versión y básicamente a medida que Dr Composer evolucionaba, cambia la versión. Esto significa que docker componer sintaxis y las propiedades son diferentes en diferentes versiones y ahora tenemos tres rusos, que es la U. S. Y acabamos de especificar aquí. Entonces Doctor sabe qué versión estaban usando. Y lo siguiente que necesitamos describir aquí son los servicios y básicamente los servicios que vamos a hacer aquí mismo son exactamente servicios que discutimos cuando planeamos nuestra aplicación. Entonces básicamente necesitamos aquí tener frente y servicio y luego base de datos del FBI y la EPA y así sucesivamente . Empezaremos con un solo servicio solo para comprobar cómo funciona en absoluto. Por lo que este será servicio para nuestro Ikea. Y solo para recordarle, nuestro FBI es un servicio donde no tenemos datos específicos del usuario. Entonces, por ejemplo, las categorías posan y todo esto que tenemos dentro de nuestro un pastel Así que lo siguiente que queremos precisar aquí años, qué carpeta nacieron para llegar al archivo Dhaka y ahora las preguntas son versátiles es qué archivo DACA. Entonces básicamente, aquí se puede ver la estructura fuera de nuestro proyecto que tenemos aquí Rail World ocurrir y solo un archivo Crearemos varias carpetas básicamente aquí. Queremos precisar. De acuerdo, tenemos aquí frente y y tenemos aquí cualquier carpeta de pastel y tenemos aquí horas, carpeta y así sucesivamente y así sucesivamente. Entonces básicamente cada servicio será una carpeta y más adelante discutiremos cómo mover estas carpetas. Dos depositarios adicionales. Entonces tenemos como, por ejemplo, para frente y solo un solo rep. Ah, y sólo podemos desarrollarnos con este rapero. Pero por ahora, pondremos todas las carpetas para todos los servicios dentro de este proyecto. Y básicamente, la idea es que docker componer lea los archivos parlantes de cada carpeta como de cada servicio. Y revisaremos qué es el expediente médico en un segundo. Entonces vamos a saltar a Google y correcto archivo médico. Entonces básicamente, como puedes ver, la documentación de Dhaka es realmente agradable y casi siempre un salto en remolque. Esta documentación on como el primer enlace cuando escribes algo en relación a Dhaka. Entonces básicamente aquí está el doctor archivo de referencia y ¿qué es el archivo DACA? Dr. File es un documento de texto el cual contiene todos los comandos fuera del usuario los cuales se activarán cuando creemos una imagen. Entonces ahora la pregunta es ¿qué es la imagen? Digamos que instalas Lennox en algún servidor o simplemente en tu máquina local y usas una imagen para estos. Entonces básicamente la imagen es algo así como una instantánea cómo se verá tu instalación y este es exactamente el caso. Digamos que sólo tenemos una imagen. Entonces básicamente esa bonita instalación encontrar donde tenemos dentro como Lennox, como distributiva básica con por ejemplo, ahora instalada y cuando usamos esta imagen para crear y tú distributiva para instalarla, básicamente saldremos de la caja, no sólo dibujar Lennox. Pero también tenga en cuenta, por ejemplo. Pero puede ser un poco complicado al principio, pero lo verás en un segundo. Entonces saltemos dentro del FBI, por ejemplo, y creemos en tu documento, que se llama archivo DACA con grande la letra. Entonces básicamente, como decían, tenemos ahora Docker componer. Esto es como composición fuera de todo. Entonces esto es lo de alto nivel que maneja todo y en un pastel, el archivo docker. Entonces básicamente, tendremos archivo DACA en cada carpeta, como en cada servicio y en archivo Dhaka que especifican cómo, exactamente con este servicio se debe preparar. Y lo primero que hay que decir aquí es de tan básicamente de medio de qué imagen queremos tomar , podemos decir aquí que queremos imagen de nodo y aquí podemos especificar la versión. Por ejemplo, no 13. Entonces significa que vamos a crear en este archivo taco que tu imagen con No. 13. Esto significa que esta imagen no hace nada con sólo prettificada. De acuerdo, para nuestro FBI, necesitamos una imagen donde la versión 13 del nodo ya está instalada. Esto es todo. No especificamos nada más y los leads saltan de nuevo dentro de nuestro docker componer Así que básicamente aquí dentro de nuestro ik me gustaría especificar de qué carpeta? Que este FBI está relacionado. Entonces básicamente aquí podemos decir construir Y esta es la propiedad especial donde estamos diciendo qué otoño se debe usar esto Así que básicamente aquí estaban diciendo solo dot slash ap I Así que esta es la carpeta donde Docker componer estará buscando nuestro archivo docker y esto es exactamente lo que especificamos. No hagamos nada más e intentemos atracar, componer, construir y entrar. Y como pueden ver aquí tenemos el mensaje construido en un cielo lo que significa docker componer ve nuestro servicio A p I que definimos y ahora se puede ver que este es el paso uno de uno y tenemos esta línea desde No. 13 que fue certificada en archivos Dhaka, lo que significa que DACA compuso ve nuestro en desde No. 13 y entiende cómo necesita instalar la imagen para thes e chi y básicamente puede ver aquí. Tirando del nodo de la biblioteca y tirando está llegando aquí, lo que significa que estamos descargando de Internet. El imagen para No. 13 básicamente ahora en nuestra máquina. Hemos descargado imagen para No. Dos equipos Y vamos a revisar. Simplemente lo arrancaré una vez más. Y como pueden ver, fue como súper rápido porque ya descargamos esta imagen y tenemos comer en nuestra máquina local. Por eso no necesitamos dedo del pie. No lo guardes una vez más y DACA lo entiende y solo construye lo que dijimos así que básicamente sólo se llevó esto del Norte 13 el cual está disponible localmente. Y esta es la última línea aquí Éxito Etiquetarlo, Real docker Un doctor del mundo real ai latest. Básicamente, este es el punto clave. Lo que sí escuchamos de la nota de imagen 13 que creamos en tu imagen y esta imagen Israel Mundo Doctor A pastel latest. Entonces básicamente la idea es que tomemos alguna imagen base, por ejemplo imagen con nodo y luego creamos nuestra propia imagen para nuestro proyecto. En este caso, podemos hacer más cosas que simplemente tomar el Norte 13 porque básicamente, si no necesitamos nada más, podemos simplemente tomar esta imagen directamente y no crear nuestra propia imagen. Pero aquí está la idea de que vamos a hacer más cosas aquí lo que significa para nuestro servicio. Siempre creamos a tu imagen. Y si esta imagen se basa en alguna imagen básica, como puedes ver, no debes usar comandos Docker directamente cuando utilices docker componer. Entonces básicamente aquí no lo hiciste Así que cómo se debe sacar la imagen oscura, cómo se debe construir y así sucesivamente porque Docker componer está haciendo todo por nosotros y esta es una solución realmente estable y solo definimos cómo lo trabajamos dedo del pie del trabajo. Entonces como puedes ver con Chester cuatro líneas aquí y una línea dentro de nuestro archivo docker fue creado con éxito en tu imagen la cual usaremos más adelante para nuestro a pastel. Si tiene algún comentario o pregunta, siéntase libre de hacerlos y yo les responderé con seguridad. 6. Crear aplicación api: en los medios de comunicación. Deseo crear nuestra conocida aplicación para un servicio de tarta. Fuera de curso. No crearemos toda la aplicación desde cero. Simplemente vamos genial para enrutar para que podamos probar que nuestra aplicación imperio está funcionando porque esta maldición es foco completo en lo más oscuro y no sobre crear y conocida aplicación Js. Entonces para estos, primer lugar, necesitamos saltar dentro de nuestra carpeta del FBI. Entonces aquí estoy, dentro de una tarta, y no tienen nada más que fuera del expediente médico. Entonces básicamente aquí tengo ganas de escribir en PM lo necesitas y golpea. Entrar. Y esta es una herramienta para crear un paquete, Jason. Entonces, como puedes ver, esta utilidad creará nuestra Peca. Jason, solo podemos darle a Enter. No importa lo que tengamos aquí, y nuestro piquete Jason será creado. Entonces como puedes ver ahora, tenemos paquete Jason, y podemos comprobar cómo se ve en el editor. Entonces, básicamente, esto es simplemente simple Piquete Jason. Y ahora podemos agregar algunos paquetes que quiero instalar aquí express. Y si no sabes lo que expresa este es el marco más popular para sillas conocidas para crear aplicaciones. Por lo que básicamente simplemente se llegó en PM en estilo express. Y aquí está. Nuestro express se instalará localmente para que puedas consultar aquí dentro del paquete Jason que ahora hemos expresado como dependencia. También es importante ver que ahora tenemos modelos de nodo y paquete paquete de archivo de bloqueo de paquetes Lakis . Bien. Este es el archivo de bloqueo para nuestros paquetes, pero no hay modelos que queremos ignorar. Entonces básicamente, como hemos conocido modelos en diferentes carpetas, podemos ignorarlo directamente, entrometernos en nuestro proyecto. Entonces básicamente, queremos crear aquí, conseguir ignorar archivo y dentro, agregar modelos antiguos para conseguir ignorar. Y se puede preguntar, ¿Por qué necesitamos hacer esto? Porque básicamente, en el momento en que se quiere comprometerlo dedo del pie get rep. Ah, no quieres comprometer ningún paquete porque nuestros paquetes están definidos en el paquete Jason y en registro de paquetes. Y en cualquier máquina, podemos instalar paquetes correctos solo por emocionante instalación de NPM. Ahora, vamos a crear una carpeta fuente aquí dentro de nuestro FBI. Por lo que tenemos modelos de apenas nota aquí y necesitamos una carpeta fuente verbal, correcto, nuestro pago de frío apagado. Entonces básicamente aquí quiero crear en ti archivo index dot Js y dentro comer crear express que vamos a importar con requieren de express y esto básicamente lo. Y ahora necesitamos crear una nueva instancia off express. Ahora, desde paquete express, podemos crear nuestra app Así que básicamente ab es igual a express y solo necesitamos llamarlo ahora podemos usar esta app para definir nuestras sacudidas. Entonces básicamente podemos decir app get y aquí estará, por ejemplo slash Hola Y aquí tendremos una función con solicitud y respuesta y dentro con esta función se querrá devolver algo que creo para fines de prueba lo podemos nombrar de menos prueba Así sabemos que esta es la prueba del dedo del pie Ural si funcionan nuestros servicios Y ahora necesitamos aquí dedo del pie diga arena de arresto Y aquí, por ejemplo algo de fuerza Nuestro calor I servidor está funcionando correctamente Así que básicamente solo si no sabes lo que expresa Básicamente nosotros creando, um desde express y ahora podemos registrar nuestras rutas para ajedrez conocido. Nos registramos aquí prueba de ruta y esta ato perímetros solicitud y respuesta. Estos son perímetros dentro de los cuales obtenemos algunas propiedades de nuestra solicitud y luego con descansos y podemos enviar algún texto de vuelta y comprobar que está funcionando. Entonces básicamente ahora, cuando se inicie nuestro observable y saltaremos a prueba de barras nuestro arroyo se renderizará. Ahora, después de registrarse a Harold, podemos empezar a escuchar en nuestro servicio. Entonces digamos aquí app escuchar Y aquí necesitamos especificar un puerto en el que estará escuchando . Y aquí va culta. Entonces básicamente, Colback significa que nuestra escucha EP comenzó con éxito. Por lo que aquí está iniciando o iniciando ap I servicio. Esto es todo. Básicamente, este es el servidor de nodo más básico que podemos hacer. Y empecemos ahora para estos en nuestro paquete. Jason, tenemos que especificar como guión. Entonces vamos a nombrar nuestro script start y este es el nombre especial en que solían iniciar un servidor de producción. Entonces básicamente en todas partes donde veas empezar las palabras, esto significa que esto es para la producción. Y si ves la palabra muerte como en la muerte de Pam Ron, entonces lo hará antes del desarrollo. Entonces aquí por ahora somos humanos, que estamos haciendo producción de Web Serra, y aquí empezamos con simplemente hace ajedrez anulado y luego fuente índice. Por lo que acabamos de iniciar nuestro Terram. Vamos a comprobar si está funcionando. Estamos aquí dentro de nuestro FBI y sólo necesitamos escribir y PM John y aquí va a empezar. Como puedes ver, obtenemos un mensaje iniciado un servicio de tarta, lo que significa que nuestro servidor está funcionando. Podemos saltar en el navegador y en el navegador como puedes ver donde conseguir no puede conseguir slash porque no registramos slash tu l Pero cuando montamos prueba slash obtendríamos un mensaje Nuestro servidor del FBI está funcionando correctamente. Entonces esto significa que nuestro código está funcionando y podemos empezar con desarrollar nuestro de observador en Dhaka. Y este es exactamente el punto por el que quería instalar note y en PM en tu máquina porque ahora probamos sin oscurecer que nuestra aplicación en está funcionando y ahora empezaremos a empacar dentro más oscuro. Si tiene algún comentario o pregunta, siéntase libre de preguntarles y les responderé con seguridad 7. Preparar la imagen de api docker: en video de tesis, prepararemos plenamente nuestra imagen de un pastel DACA. Como recuerdan en video anterior aquí tenemos un doctor pila maneras de No. 13 y este comando significa que en el momento en que lo construimos nuestra imagen para un empate No se descargó a dos adolescentes. Esta imagen está ahora en nuestra computadora. Entonces la razón Bonito comando desde cabello oscuro el cual puede mostrar todas las imágenes que no cargué en tu máquina. Entonces básicamente, en consola puedes secar imágenes de docket y luego te dan un enorme menos y para ti no debería ser tan enorme como para mí. Pero básicamente aquí lo desplazaré un poco. Puedes mostrar en la parte superior que hay una tabla con etiqueta de repositorio imagen 80 creada y tamaño y básicamente aquí. El motivo por el que menos fuera de todas las imágenes en mi máquina fuera de curso es bastante. Pero aquí se puede ver nota con toma 13 Y aquí está la imagen 80 y cuando se creó, así que básicamente para ti debería ser algo parecido. Tengo diferentes versiones conocidas aquí, como se puede ver, pero básicamente la idea es que esta imagen está ahí se puede ver comer y se puede trabajar con ella si es necesario. Entonces básicamente, si ves estos en tu máquina y el tamaño, esto significa esto Esta imagen está disponible y no necesitas tirarla cada vez. Pero está ahí y solo puedes construir cualquier proyecto con esta pregunta específica. Ahora sigamos preparando nuestra imagen de nodo. Entonces básicamente sabemos que ahora no cargamos No. 13 y podemos precisar aquí tienen director de trabajo y básicamente ¿qué significa? Entonces cuando tenemos esta línea, tenemos simplemente aire imagen Lennox con nota instalada para que puedas imaginar tres como un director estándar Lee nukes está ahí y podemos aquí mismo, trabajar querido Y entonces, por ejemplo, aplicación de llagas del usuario. Entonces básicamente, esto significa que este será nuestro directorio de trabajo donde vivirá nuestra aplicación. Básicamente, puede ser cualquier directorio. Puede estar solo lleno. Puede ser slash, pero prefiero dedo del pie tener director así. Esto está bien tener algún nombre porque no tienes las mismas cosas dentro de una imagen. Entonces básicamente aquí dentro de nuestra imagen está viviendo en el proyecto Lee One lo que significa que realmente no importa cuál será este directorio de trabajo, pero necesitamos especificar al menos uno. Lo siguiente que queremos precisar. Aquí está el dedo del pie Korpi el paquete Jason y paquete bloqueo archivo. Entonces, básicamente, como se puede ver aquí, tenemos paquete, archivo Jason y registro de paquetes Jason, y se atreven ¿Son estos archivos? Como los puedes ver ahora en nuestra máquina local, estos son archivos locales que estamos cambiando. Terminar que seguiremos cambiando. Pero ahora tenemos una imagen. Y cuando construimos esta imagen, queremos copiar dentro de Beckett, Jason y Package Lock. Y se puede preguntar ¿por qué? Porque dentro de nuestra imagen va a querer instalar. Nota más ofertas. Básicamente, Por ahora, instalamos modelos de nodos en nuestra máquina. Pero claro que no es correcto. Es sólo con fines de prueba. La idea es que en tu máquina, no tengas ningún modelo de notas básicamente en tu máquina. Simplemente tienes llagas, que puedes modificar, y luego todas las demás cosas están viviendo dentro de Dhaka. Entonces probémoslo, y verás la idea. Entonces básicamente aquí, necesitamos especificar que queremos copiar a Beckett, Jason, archivar y bloquear. Entonces podemos aquí mismo. Copiar y luego empaquetar y luego estrellar punto Jason y aquí punto Slash ¿Qué significa? Verificamos aquí todos los archivos de la ruta con el paquete de nombre y luego algo punto Jason. Entonces básicamente, es registro de paquetes y piquete Jason. Y básicamente , siempre será así. Se vende. Esto es seguro. Y aquí decimos slash de puntos, Lo que significa por favor cópialos a este directorio de trabajo. Porque con este comando estaban diciendo que ahora estamos dentro de este directorio de trabajo. Por lo que este comando corporatificará dos archivos cuando estemos construyendo la imagen dentro de nuestra imagen . El siguiente paso estilo oriental. Todos nuestros paquetes. Entonces para estos, tenemos mando especial Irán. Y entonces parecemos placer, ¿verdad? ¿ Qué? Estamos justo en normalmente al caparazón. Por lo que será en PM install. Entonces? Por lo que este comando instalará todos los paquetes dentro de nuestra imagen en aplicación de fuente de usuario. Ahora, después de las de, lo único que tenemos que hacer es copiar todos los demás archivos. Entonces, por eso simplemente podemos decir copy dot ¿Qué significa? Dot significa por favor toma todo lo que ves aquí y dot significa que estamos copiando aquí en thes directorio. Entonces básicamente, puedes preguntar por qué simplemente no escribimos este punto aquí donde tenemos a Beckett, Jason y luego simplemente no escribimos npm install. Y la respuesta es que no queremos copiar dentro de modelos de notas, y básicamente, este comando simplemente podría ser todo. Entonces para evitar thes, necesitamos crear nuevo archivo aquí dot DACA ignorar. Y por dentro, Como pueden ver, creé punto DACA ignorar. Y podemos simplemente aquí mismo modelos de nodo. Y funciona de la misma manera. Al igual que get ignore archivo. Entonces básicamente, es solo un archivo para más oscuro y oscuro entiende que no queremos copiar modelos de nodo dentro si lo tenemos. Entonces básicamente, una vez más, esto es exactamente todo lo que rodaría. Por lo que cinco líneas y nuestro expediente Dr está listo. Por lo que una vez más, tomamos la imagen. Era No. 13 estaban diciendo que directorio de trabajo es usuario source app grabó dos archivos ahí y se ejecutan en pm con estilo. Y esto instala todos los memoriales de nota. Entonces podríamos ser todo dentro excepto fuera de nuestros modelos de nodo. Nuestro archivo Dr está listo. Y ahora revisemos una vez más lo que tenemos en Dhaka. Encuestas tranquilas. Como pueden ver aquí, aquí no tenemos casi nada. Simplemente decimos que está bien, por favor construye un pastel para nosotros Y hay un archivo Dr dentro y se usará este archivo del doctor. Entonces vamos a saltar a la consola y a la derecha Una vez más Docker componer construir como lo hicimos anteriormente. Y como puedes ver, se ve diferente. Entonces tenemos aquí construyendo FBI el primer paso de No. 13 como teníamos anteriormente. Es realmente rápido ahora porque es localmente. Entonces estamos en directorio de trabajo Y aquí estamos copiando archivos y estamos justo corriendo aquí instalar NPM. Entonces básicamente, aquí tenemos una advertencia pero no importa porque no tenemos descripción y campo de repositorio. Después edita 30 paquetes de colaboradores bla, bla, bla Lo que significa que los paquetes se instalaron con éxito. Ahora tenemos una copia y ahora nuestro contenedor waas construido con éxito. Entonces básicamente ahora tenemos una imagen y podemos conducir aquí imágenes docker Y como puedes ver, en algún lugar aquí es nuestra imagen con el nombre Mundo real Docker a pastel latest ¿Se consume la parte superior. Tenemos Repositorio, riel Mundo, el Doctor, una paga y etiqueta más reciente y esta es la imagen E. D. Y acaba de crearse. Y el tamaño de esta imagen es de 900 megabytes. Lo que significa que no es tan pequeño tamaño para crear una imagen de lo que se conoce el ajedrez. Y lo arreglaremos en la próxima conferencia. Y por ahora acabamos de crear la imagen para nuestro a P. Me instalaron todo por dentro, y nuestra imagen básicamente está lista para ser iniciada. 8. Cómo iniciar el servidor api: En video anterior, creamos nuestro archivo docker para un pastel y se construyó con éxito. Ahora es el momento de inicio de observador que creamos básicamente en archivo Dhaka, puedes especificar toe cosas adicionales. Esto se expone por ejemplo 300 comandos y comandantes en el rayo, por ejemplo nodo y luego coma. Y aquí Waas, creo Ron Ah, empieza. Entonces la idea es que expuesto está exponiendo la parte Así que esto significa que estamos usando pobres 300 dentro de nuestro médico. Entonces aquí, dentro, llagas con especificó que este es el Pore 300. Pero este puerto está dentro de nuestro contenedor docker y queremos exponer este puerto para el mundo exterior , lo que significa que si no exponemos el deporte, no podemos conseguir nuestra aplicación web con la que está lloviendo dentro de su contenedor. Entonces para ello sólo podemos exponer el puerto. El siguiente comando es comando, y básicamente esto es lo que inició nuestro observador. Por lo que nodo Ron Start simplemente iniciará el observador cuando queremos ejecutar nuestro país nuestra imagen . Entonces básicamente, la idea es que aquí no necesitamos este comando, así que básicamente los eliminaremos y la pregunta es ¿Por qué? Porque queremos configurar todo como tableros exponiendo y qué entorno es y qué comandos usar dentro de Docker componen porque esto es más flexible. Y esta es nuestra única fuente de verdad. Sí, tenemos configuraciones por ejemplo, FBI dentro de archivo Dhaka. Pero esta es la configuración. Cómo proyecto ap debería trabajar, pero no como deberíamos ejecutarlo desde afuera. Ahora saltemos a nuestro Docker componer Yom y él ha especificado dos cosas. En primer lugar, será mando. Esto es lo que viste en archivo Dhaka aquí podemos montar en PM Ron, iniciar. Este es exactamente el comando que creamos para iniciar nuestro servidor web. Lo siguiente que vamos a escribir E deportes Y aquí vamos a escribir tableros 303,000. Perdón, cerró Resultante. Y vamos a comprobar, creo que con mando está claro. Entonces básicamente con este comando se iniciará nuestro contenedor. Pero puertos no está claro ¿Por qué? Se ve así. En primer lugar, todo lo que lo escribí no correctamente. Debería escribirse así. Entonces aquí tenemos un guión y luego la cuerda. Entonces, básicamente, ¿qué significa esta tendencia? Entonces aquí. Yo quiero espacios, claro. Y el flujo significa que el puerto de la izquierda es el puerto host y host significa nuestra máquina y puerto de la derecha significa puerto contenedor una vez más. ¿ Qué significa cuando tenemos aquí un índice fuente P I y aquí con 300 especificados. Este es el puerto contenedor, debido a que la aplicación web se está ejecutando dentro del contenedor con este puerto. Y luego queremos exponer el deporte como puerto 3000. Por lo que aquí podemos conducir cinco o 6000. Y esto significa que en un puerto serán 3000. Este es el deporte, pero puerto fuera será 6000. Entonces, básicamente, si vamos aquí mismo algún otro número como otro puerto, simplemente no va a funcionar. Porque aquí en el puerto 1111 no existe dentro del contenedor y ninguna aplicación está escuchando dentro del puerto 1111 Básicamente, con este comando. Cuando se inicia observador dentro del contenedor, entonces nuestro observador está escuchando en pobres 3000 y básicamente estamos terminados aquí. Simplemente necesitamos especificar qué comando se ejecutará cuando iniciemos nuestro contenedor ¿Y qué vertidos debemos exponer dentro de este contenedor? Ahora vamos a intentarlo Una vez más Docker componer construido Y como puedes ver, todo está empezando de nuevo porque cambiamos archivo docker. Pero ahora intentémoslo de nuevo. Y como pueden ver, fue exactamente mucho más rápido porque no hicimos ningún cambio para drogar un archivo de composición a doc File. Perdón, Por eso fue casi instantáneo. Por lo que ahora Docker componer build creó nuestra imagen y ahora podemos usar esta imagen para hacer esto, necesitamos probar Docker componer. Y como puedes ver aquí tenemos varios mensajes primero de para crear red. Hablaremos de redes más adelante. Por ahora , no importa. Aquí, se puede ver creando mundo real docker FBI. Esto es exactamente contenedor con esta imagen que creamos y se hizo. Y aquí estábamos Attash en este contenedor. Y Thies son los troncos de estos contenedor, lo que significa aquí un p yo uno se puede ver este es nuestro un contenedor de pastel. Y aquí los bloqueos Sin índice fuente, Este es nuestro comando para iniciar cualquier pago. Ahora cambiemos a nuestro navegador y recarguemos la página y Como puedes ver, todo está funcionando como funcionaba anteriormente. Pero como pueden ver ahora, sólo tenemos al Dr. Compose arriba. Si lo voy a detener con controlado, digamos o común, se puede ver que dejó de funcionar, lo que significa que esto es exactamente estos. Entonces cuando montamos Docker, componer arriba Empezó un por servicio y lo puedes ver aquí luego dentro de nuestro navegador, tenemos anfitrión local 3000 y prueba. Si tiene algún comentario o pregunta, siéntase libre de hacerlos y yo les responderé con seguridad. 9. Docker de Docker: en este video. Yo quiero hablar de cosas como DACA Hub. Entonces básicamente, aquí dentro de nuestro archivo docker rodó desde No. 13 y luego puerta vino mágicamente No laudo estare imagen de algún lugar y no sabemos de dónde exactamente Así que básicamente esto de donde Waas hub dr dot com Así que esto es básicamente algo así como nodo registro Js, por ejemplo. Entonces, básicamente, es un lugar donde puedes empujar y tirar imágenes, lo que significa que esto es como un almacenamiento para imágenes. Y digamos que estamos buscando nota así que básicamente fue nodo derecho en búsqueda, puedes ver aquí contenedores y aquí están ordenados por popularidad para que puedas ver 10 millones más, que significa que este es el representante más popular. Ah, y se puede ver esta es la imagen de nota. Esto no es Js la sangre basada en JavaScript de para lado de servicio y networking y podemos hacer click en él y básicamente una cosa más importante, esta es la barcaza aquí imagen oficial. Esta insignia significa que esto es oficial y como tú no Lord la cosa que es realmente normal como no hay cosas ocultas dentro. Entonces básicamente, se trata de Dr Imagen oficial para nodo y se puede ver aquí las etiquetas soportadas. Y esto es realmente una importante e interesada en ti. Básicamente, esto significa que se puede quitar cualquier etiqueta de nodo. Y por ejemplo, tomamos no. 13 así que básicamente tomamos algo de aquí. Pero básicamente el punto es que con tal notación, ni siquiera sabría qué exactamente. Y en la parte inferior en alguna parte, se pueden ver referencias rápidas Y lo que no es jazz, cómo usar esta imagen y así sucesivamente. Entonces esto es básicamente comer, pero hay que hacer normalmente es solo para encontrar qué imagen necesitas por ejemplo, a través de oleada Y luego aquí justo de y luego la etiqueta. Por lo que básicamente texto se puede ver aquí cuando se hace clic en las etiquetas la varilla diferentes imágenes y se puede ver el tamaño fuera de las imágenes como fuera de curso en ningún montón de ellas, porque esto es como imagen súper popular. Pero claro, cuando estás buscando algo no tan popular, puedes ver tal vez varios textos y solo una imagen, un tipo de imagen. Porque aquí consideras que se trata de una imagen delgada, que es más pequeña y cardos, la imagen más grande y así sucesivamente. Pero hay un tipo de imagen que realmente me gusta y se llama Alpine. Entonces, básicamente, si Google Alpine imagen y abre Wikipedia aquí, puedes ver qué es esto en absoluto? De acuerdo, no Wikipedia, sino el Dr. L. Pain. Y la idea es que las imágenes de Doc son demasiado grandes y por lo general no necesitamos todo. Es por ello que la gente trató de crear imágenes más pequeñas, lo que significa , por ejemplo, como usted vio aquí en consola, siempre que derecho a medicar imágenes y encontrar nuestra imagen de nodo aquí es bastante grande. Es casi un gigabyte, y básicamente no instalamos nada ahí. Entonces esto es como imagen cruda y le dijo a Justin Sepa que así si tiene un servidor pequeño, por ejemplo, por $5 rentados en algún lugar, normalmente tendrá, como, como, tal vez 20 gigabytes fuera de almacenamiento. Y esto significa que no puedes instalar esas muchas imágenes ahí porque pronto estarás fuera del espacio. Es por ello que se creó Thistle Pine Lennox. Entonces básicamente, esto es una angustia especial y tienes imágenes de docket súper pequeñas y las imágenes más pequeñas comenzando en Lewis cinco megabytes. Entonces básicamente, esto es realmente, realmente pequeño, y se puede ver aquí que tengo nota poco pino, por ejemplo. Ocho. Esto es como toda la versión, pero esto es realmente pequeño. Como puedes ver, son solo 67 megabytes, así que básicamente podemos cambiar un gigabyte a algo alrededor de al menos 100 megabytes. Básicamente, en viejas imágenes populares, siempre se tiene una visión alpina, y aquí para usar un alpino con simplemente se seca guión y alpino. Pero quiero ser mejor que esto porque siempre quiero precisar estricto ruso. Para mí, 13 puede ser diferente. Entonces es por eso que podemos revisar aquí. ¿ Cuál es la última moda? Por ejemplo? 13 12 0 y quiero escribirlo. Al menos el adolescente 12 0 y luego corre Alpine. Como puedes ver aquí cuando intento toe search 13 12 0 Alpine. puede ver que está existente para que podamos usarlo. Entonces básicamente estamos usando la notación dis. El 10 12 0 Alpine esta voluntad en estilo para nosotros fue el siguiente edificio fuera de nuestra imagen. Versión alpina. Entonces hagámoslo ahora. Acabo de probar docker componer construir y se puede ver que se nos hará lord a tu imagen. Pero esta imagen será mucho, mucho más pequeña. Se puede ver que es realmente rápido. Entonces aquí están las imágenes construyendo de nuevo. Y ahora, con imágenes parlantes, vamos a comprobar. ¿ Qué se necesita? Por lo que aquí hemos conocido 13. Era casi un gigabyte y lo hemos sabido con alpino y es de sólo 114 megabytes, lo que significa, como súper simple, pequeño y para nuestras necesidades, es realmente suficiente, que significa normalmente para nuestro proyecto. Si cada imagen va a tomar algo alrededor de este y básicamente necesitamos tal vez cuatro o cinco imágenes diferentes en total, será en algún lugar alrededor de un gigabyte. Entonces, sólo para resumir, ¿qué es el Dr. Hubbert? Este es el lugar donde almacenamos imágenes o no. Nosotros pero donde la gente está agitando imágenes. No planeamos almacenar nuestra imagen que creamos para el proyecto en Dhaka High hub, porque primero, no es gratis. De acuerdo, es gratis para una imagen, pero queremos más, y en segundo lugar, no tiene mucho sentido porque vamos a compartir nuestras imágenes de otra manera, lo cual me parece bastante conveniente. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 10. variables del entorno: en este video. Quiero hablar de variables de entorno. Pero en primer lugar, todo lo que quiero precisar un perímetro importante en nuestra composición portuaria. Y este perímetro se llama reiniciar. Y aquí es igual a menos que se detenga. ¿ Qué significa? Significa que estamos diciendo aquí la composición docker debería reiniciar nuestro contenedor. Si es, por ejemplo, detenido por cualquier motivo como un error sobre el terror. Y el doctor componer intentará iniciarlo una y otra vez si no detenemos nuestro contenedor las manos. Y básicamente me puedes preguntar un qué otras opciones y cómo puedo obtener todos los perímetros que tengo disponible en Docker componer? Y hay una página realmente agradable perros DACA dot com. Por lo que es slash oficial compuesto slash archivo compuesto y esto es una referencia fuera archivo compuesto Versión tres y la versión tres es lo que tenemos aquí. Y básicamente es como súper larga y normalmente solo hago la muerte común aquí y busco por ejemplo, por lo que necesito. Digamos reinicie y aquí se puede ver que tenemos reinicio de propiedad y esta es política de reinicio . Esto no es lo que necesitamos. Pero aquí está reiniciar y puedes leer sobre Reiniciar. Entonces no, esto es por defecto. Por lo que los contenedores no se reiniciarán bajo ninguna circunstancia y siempre significa que siempre se reinicia y en caso de falla. Y a menos que se detenga casi en todas mis aplicaciones, estoy usando a menos que se detenga porque esto tiene mucho sentido. Entonces básicamente, aquí en el archivo thes de esta página, puedes revisar todas las propiedades que existen en el archivo compuesto y leer sobre ellas. Entonces básicamente, esta es la fuente de la verdad y el comando del resaltador. Si quieres comprobar qué está haciendo alguna propiedad o cuál es la sintaxis correcta para mirar aquí , por ejemplo, podemos buscar en puertos y aquí puedes ver tableros en algún lugar podemos hacer click en el dock. Ah, y esto es aquí. ¿ Qué nos obligó? Expone. Verter tesis, puntal, Syntex, Contenedor anfitrión. Ya lo sabemos, pero aquí puedes leer más información al respecto. Ahora volvamos a nuestras variables de entorno. Básicamente, supongamos que nuestra aplicación otorgará y en desarrollo y en producción. Entonces sólo tenemos dos entornos y normalmente esto es lo que estoy usando, como el 90% del tiempo. Entonces no tengo puesta en escena ni algo así. Sólo desarrollo y producción. Y la pregunta es, ¿cómo podemos distinguir lo que deben hacer nuestras aplicaciones entre producción y desarrollo? Entonces la primera pregunta es, ¿por qué necesitamos distinguir algo y digamos, primer lugar, que en desarrollo y producción, podemos ejecutar nuestra aplicación en diferentes puertos, Por ejemplo, Entonces digamos que estamos usando alguna aplicación de terceros como el correo, por ejemplo. Y por supuesto, tienes en enviar por correo algo así como hablar en exceso, lo que significa que te dan una prueba hablando y hablando de producción, lo que significa charla de prueba y estás usando en entorno local, donde quieres probar cómo está funcionando y producción estás usando aguantar la minería del dolor, por ejemplo, para correos enviados en correos electrónicos, lo que significa fuera de curso que no quieres en desarrollo usar la producción, hablando y viceversa, lo que significa en nuestro queremos saber de alguna manera en qué entorno estamos iniciando la aplicación. Entonces básicamente hay diferentes enfoques para este enfoque es tener diferentes guiones aquí, como estrella para producción y muerte para desarrollo, por ejemplo, entonces no necesitamos especificar nada aquí en Docker componer porque simplemente nos equivocamos comando diferente aquí, así que básicamente Esta es la producción Docker componer Jahmal Entonces está aquí en PM Ron start Si es desarrollo el doctor compuso Yama Entonces es en PM John Death. Este es el enfoque más fácil. Pero aún así queremos configurar varias cosas desde fuera para nuestra aplicación, por ejemplo, puede ser el host o algunas otras propiedades que necesitemos. Entonces supongamos que queremos tener tablero diferente dado desde fuera. Entonces básicamente, aquí en nuestro FBI, podemos montar entorno y esta es la propiedad para las variables de entorno. Y aquí podemos especificar tablero igual a 3000. Ahora veamos cómo funciona. Y aquí hay una linda cosaque que que quiero mostrarles. Vivir normal con docker seco, componer, construir y después de construir se ejecutaron en Docker componer. También podemos aquí mismo Docker componer hasta menos construcción. Esto significa que después de que antes de cada comando docker componer intentará construir una imagen y si en la que ya está construirla, no hace nada y simplemente maquillarse. Este es un dedo de comando ahorra tiempo y para evitar ejecutarlo sabiamente. Entonces aquí hacemos clic en entrar y tenemos un error y básicamente, como puedes ver aquí, obtenemos un estrecho. Ese archivo compuesto no es válido porque la opción de conflicto no compatible es un entorno prettificado . Y esto es lo que realmente me gusta de la composición docker. Recibes realmente buenos mensajes siempre y siempre sabes de qué se trata? Por lo que aquí resulta entorno. No correctamente. Debe ser environ je o tripulado. Entonces con n y luego intentemos de nuevo. Como puedes ver ahora está funcionando y empezamos nuestro servicio del FBI. Por lo que ahora queremos comprobar si funciona el Sports Tinggi. La pregunta es, ¿cómo lo comprobamos? Entonces básicamente, como ustedes saben en Jess conocido, tenemos esto y de propiedad de la que podemos leer todo lo que necesitamos. Y normalmente prefiero especificarte configuración de archivos donde leo toda la configuración pero por la simplicidad. Sólo intentémoslo aquí. Entonces vamos justo aquí, Cónsul log y procese y y y si debe ser pequeño y luego hija puerto y vamos a la derecha que este es nuestro puerto. Ahora necesitamos no sólo reiniciar todo parte reconstruir, y esto significa que todo el proceso de construcción está sucediendo de nuevo. Copiamos archivos aquí. Y luego iniciamos el servidor. Y como puedes ver, no toma tanto tiempo. Entonces aquí, como se puede ver, puerto es de 303,000. Esto es exactamente lo que especificamos afuera. Lo que significa aquí podemos escribir algo así como, const board igual, Traído, dice y no puerto. Y básicamente, entonces aquí no estamos usando puerto 3000 baht, lo que significa que la gente necesita especificar puerto fuera. Y ahora nuestra aplicación es apátrida. Entonces no tenemos nada dentro, como los tableros de configuración, lo que sea. Simplemente especificamos todo desde fuera como puerto, y también podemos especificar algunas cosas como host. Por ejemplo, creo que esto es realmente útil. Entonces sabemos en qué host iniciamos nuestra aplicación, por ejemplo, host es igual y aquí http y luego tenemos riel world dot com. Entonces ahora aquí podemos, por ejemplo, leer a nuestro anfitrión y será proceso y anfitrión. Y aquí, digamos que realmente me gusta escribir algunos registros cuando iniciamos Sarah para saber que tenemos variables de entorno configuradas correctamente para que aquí mismo iniciamos un servicio de tarta, por ejemplo, en puerto. Entonces aquí necesito otras briquetas a bordo y aquí estará nuestro puerto. Y entonces algo así como nuestro anfitrión es Y aquí estará nuestro anfitrión. Entonces, solo empecemos esto de nuevo. Como pueden ver aquí, lo iniciamos por servicio en pobres 3000 nuestro host se emite Imperial World Que vienen Así que esta es realmente bonita manera de configurar aplicaciones. Por lo que esto hace que nuestras aplicaciones sean apátridas y acabamos de configurarlas fuera con Docker componer. Si tiene algún comentario o pregunta, siéntase libre de hacerlos y les responderé con seguridad. 11. Agrega base de base: en video de tesis. Quiero agregar que una base para nuestro servicio del FBI básicamente la primera pregunta de qué base de datos vamos a estar usando y qué paquetes necesitamos en nuestra aplicación de nodo. Por lo que es solución realmente popular para express y ningún cofre es mongo DB, que es documental en base de datos. Y espero que sepas algo al respecto. Si no lo haces, solo vas a mongo DB, y puedes abrir el sitio web oficial y leer algo al respecto que esta es la base de datos más popular y así sucesivamente. Entonces, básicamente, no puedo decir que esta sea la base de datos más popular. Pero al menos es la base de datos más fácil para empezar a trabajar con bases de datos en absoluto. Y hay diferentes soluciones como podemos usar mongo db con nota en uno off. Las soluciones más populares y estables es la mangosta, que es el Aram para mongo DB, lo que significa lejos instalar bongos. Y nos ayudó a conectarnos con Mongo DB. Y entonces aquí tenemos diferentes guías. Por ejemplo, cómo definir toe definir un esquema para que podamos crear esquemadores como por ejemplo, tenemos blawg y este bloque tiene este 'd estas propiedades y solo podemos hacer algo como nuevo Model, que es, por ejemplo, blogueó. Y entonces estábamos esperando el ahorro y así sucesivamente. Por lo que esto significa que esta es la forma fácil de trabajar con mongo db. Entonces, en este curso, usaré este podría ser rapero llamado Mangos, y necesitamos primero instalarlo dentro de nuestra aplicación. Entonces, básicamente, vamos campeón, ahora estoy aquí en nuestra ruta fuera del mundo real, Doc soy, soy campeón de un pastel. Y aquí, NPM instala Mangosta. Como puedes ver aquí, simplemente podemos abrir stock de Mongo. Ah, y aquí es inicio rápido. Y también dice que NPM instalar bongos es suficiente para nosotros. Por lo que instalamos con éxito este paquete. Se puede ver que este paquete no tenía estilo aquí en Beckett, Jason, por ejemplo. Entonces aquí hemos expresado y Mangosta ahora y esta vez para usarlo. Entonces, ¿cómo estamos trabajando con la base de datos en absoluto? Entonces básicamente aquí que acaba de iniciar nuestra aplicación así como esta. Pero ahora no podemos hacer tal cosa porque en primer lugar, queremos inicializar nuestra conexión a base de datos. Y cuando fue exitoso, Onley entonces con empezar a escuchar nuestra aplicación Y se puede preguntar, por qué es eso básicamente porque nuestra aplicación está haciendo algo con base de datos y tenemos fuerte relación siente base de datos que aplicación Al igual que no tiene mucho sentido iniciar base de datos después de iniciar la aplicación, porque cuando estamos haciendo algo en inicializar fuera de la aplicación con base de datos, simplemente se bloqueará. Esto significa que en primer lugar, queremos conectar la base de datos del dedo y básicamente, se puede ver aquí este es el ejemplo de cómo podemos empezar. Entonces esto es Mangosta. Entonces estamos haciendo Mangoose Connect Y luego éste va. Connect básicamente tiene DB y podemos tratar de estar en bonos de debut y así sucesivamente. Si sabes que estamos conectados, prefiero crear un ayudante que me ayude a conectarme dedo a la base de datos. Entonces aquí, dentro de un empate, llagas creo nueva carpeta, que se llama ayudantes y por dentro se divirán hacia fuera. Sí, así que básicamente aquí quiero conseguir el de Mónaco, que es requerir de Monaco ahora que alguna vez quiera crear nuestra conexión. Por lo que serán expertos en módulos y aquí podemos secar Daut Connect DB. Por lo que esta es la función especial que se conectará a nuestra base de datos y dentro estaban justo en el punto de Mónaco Connect y puedes consultar esto en la documentación. Por lo que aquí van a haber algunas opciones. estamos guardando por ahora y queremos aquí devolver la conexión de puntos de Mónaco. Como puedes ver aquí, estamos trabajando directamente. Db para nosotros es la conexión de Mónaco. Entonces por eso lo escribí así. Ahora, aquí dentro de Connect, tenemos nuestra DB y la pregunta es ¿qué es DB? Por lo que prefiero dentro de índice Near Index crear una configuración de carpeta. Entonces básicamente, estoy haciendo todas mis aplicaciones de nodo de la misma manera con la misma estructura y en sillas de punto índice de configuración. Guardo todas las propiedades que necesito para esta aplicación. Por ejemplo, aquí podemos mover propiedades que eran carretera aquí como tablero y anfitrión. Entonces básicamente, vamos a copiar desde aquí y dentro Índice de configuración Y aquí no queremos host Coast, pero queremos expertos modelo Board es igual a puerto de entorno de proceso y lo mismo aquí Model exporta host es igual a proceso Environment host. Ahora estamos haciendo lo mismo con DB. Entonces básicamente aquí módulo expertos db es igual y será proceso y y aquí debería ir mongo db Ural. Entonces básicamente queremos configurar desde fuera fuera de nuestra aplicación este año. L Así que vamos a llamarlo, Manco. Um, bueno, ahora deberíamos usar todas estas tres cosas aquí y en nuestro festival de ajedrez índice aquí fueron advertidos de tener nuestra configuración. Básicamente, podemos destruir hoja directamente, y aquí está requerir, y será Vamos a salir con configuración. Y ahora aquí queremos conseguir T B. Y esta es DB que pasaban dentro de Connect. Por lo que esto es sólo un simple string mongo, db, bla, bla, bla y nivel lo especifican afuera en el segundo. Ahora quiero cambiar nuestro índice de ajedrez. Entonces, ¿qué queremos hacer aquí? Básicamente primero. Horrible. Creamos una app y registramos algunas rutas. No importa porque aún no iniciamos una aplicación. Y ahora estamos advertidos aquí para conseguir la base de datos connect toe. Por lo que básicamente conecta DB. Esta es nuestra función especial de require y nos vamos toe ayudantes db Así que, básicamente, básicamente, ahora aquí podemos tratar de conectar DB con corchetes redondos. Y como puedes ver, esta es la conexión de mangosta. Y esto es esto. Y cuando con cuando estás escribiendo sobre era, cuando alguna vez suceda iremos aquí y una vez significa que estamos conectados. Entonces esto significa que aquí estamos escribiendo punto en y aquí ero y queremos solo hacer registro cónsul cuando tenemos un error y en desconectado Este es otro objeto que tenemos connect DB, lo que significa que cuando perdimos nuestra conexión querría volver a conectar y camionetas significa que cuando estamos conectados Así que esto está abierto entonces iniciamos nuestro servidor y aún no tenemos función start over Así que vamos a crearlo directamente aquí. Entonces básicamente podemos empezar justo aquí Así que justo sobre las cosas divididas Básicamente no hace tanto frío por dentro y con sólo Korpi todo esto aquí. Entonces esto es escuchar y luego tenemos bitácora cónsul que se inició Así que esto es exactamente comer. Simplemente también podemos montar este código aquí directamente una vez debería ser con una e Pero prefiero la función para que puedas ver lo que está pasando. Tenemos aquí conectado ser y luego en abierto Tenemos servidor de inicio ahora vamos a comprobar si está funcionando. Obviamente no, pero ¿qué errores tenemos? Entonces estamos justo aquí. Docker componer construir y Como puedes ver, lo está construyendo y entonces lo estamos iniciando. Entonces como puedes ver aquí, tenemos un error y el que llegues parámetro toe abre tu debo ser una cepa y se puso indefinido Lo que significa aquí dentro de nuestros ayudantes damos dentro db Y esta DB viene de configuración del proceso medio ambiente y Manco Ural Y no precisamos este perímetro . Y este perímetro no es común dentro de nuestra composición docker. Entonces básicamente, aquí necesitamos primero agregar este perímetro y luego configurar nuestra base de datos. El interrogante es cómo se adhieren los dedos un servicio más para nuestra base de datos. Entonces, como dijimos anteriormente aquí, necesitamos algo así como una base de datos P I. Entonces básicamente, el servicio para nuestro FBI y creo que nombre a p d ser East eficiente y dentro nacieron para usar mongo db. Entonces, básicamente, si no sabes cómo proceder con ello, simplemente puedes ir al hub de Dhaka. Por lo que ha saltado en la página web. Y estamos justo en Mongo, en los Ural, como pueden ver las imágenes oficiales y tomaremos imagen mongo. Así que pinchemos aquí y aquí unas etiquetas para que puedas tomar diferentes tachuelas. Por ejemplo, más reciente, tomemos lo último, lo que significa aquí con simplemente latas, ¿ verdad? No construir como lo hicimos aquí, sino directamente la imagen así que la imagen. Y aquí estará nuestro nombre. Entonces aquí fue simplemente necesidad de escribir mongo último y esto es todo. Y si me preguntas, ¿por qué no construir como puedes ver aquí, no tenemos carpeta para una base de datos, y no necesitamos dedo del pie porque no tenemos ningún archivo DACA el cual necesitamos especificar para nuestra base de datos A pastel. Podemos, por supuesto, crear. Pero no queremos hacer nada con esta imagen. Simplemente necesitamos esta imagen y la usaremos directamente. Eso es todo. Es por eso que acabo de intentarlo aquí. Mongo última. Y esto es suficiente. Ahora, una delgada más es que necesitamos iniciar este servicio antes de iniciar nuestro FBI. cual es obvio porque festival, Como dije, estamos iniciando base de datos y luego estamos iniciando nuestro servicio, lo que significa que si este servicio comenzará más tarde que el servicio, entonces todo se romperá. Y para esto tenemos propiedad especial. Depende de, y aquí está de acuerdo base de datos. Entonces, como usted entiende, aquí puede ir Lee. Entonces básicamente así, puedes tener como, cinco bases de datos si tienes dependencia es disparar bases de datos. Y básicamente, base de datos es sólo un nombre y nuestro nombre aquí es un P I d ser. Entonces lo vamos a nombrar a una T i d ser. Y no importa si es una base de datos o simplemente otro servicio. Puede especificar aquí Cinco servicios diferentes y paseo depende de los servicios. Entonces ya estamos listos. Nuestro db del FBI está empezando antes de que empecemos nuestro FBI. Entonces intentémoslo una vez más, estaremos siempre seguros, pero no lo es. El punto es que puedes ver aquí tenemos salida fría. Y como puedes ver, Docker componer está tratando de reiniciar nuestro contenedor una y otra vez indefinidamente sólido. Detengan esto y comprueban. ¿ Qué tenemos aquí al principio? Entonces aquí tenemos errores. Y aquí en algún lugar, si no logramos, hay base de datos? Entonces si puedes ver aquí tienes solicitudes de una base de datos de tarta, lo que significa que sucedieron algunas cosas con respecto a nuestra base de datos. Como pueden ver aquí somos viejos Dhaka componer construir Y entonces aquí vemos crear Dr A. P I d be. Lo que significa que Docker componer ve nuestro nuevo servicio e intenta crearlo. Por lo que se creó con éxito y estamos adjuntando a estos servicios del dedo del pie y luego se inició el error . Entonces básicamente, estos son algunos troncos y tenemos el mismo aero. Si me desplaza hasta el fondo, puedes ver una rosa que tu ojo no es correcto. Estos son los ojos que se especificaron como indefinidos porque no lo pasamos de Docker Compose. Ahora necesitamos especificar esta propiedad que creamos Mongo Ural aquí y aquí podemos decir la base de datos Ural off thes. Y básicamente, para esto necesitamos aquí mismo. String mongo, dos b. Entonces será un chi db. Y luego aquí, Kahlan y Deport. Y 27017 es el puerto estándar fuera de mongo DB. Y luego slash y el nombre fuera de la base de datos. Entonces básicamente, aquí tendremos la base de datos. Digamos ik I Ahora reiniciemos nuestro docker, compongamos y comprobemos cómo se ve. Como puedes ver, seguimos recibiendo errores. Y aquí está diciendo que el actual Yuri en tu persona de Istria está duplicado y será removido para usar las nuevas partes o partes del uso de opción de bus. Paquetería nueva. Cierto Así que básicamente, como puedes ver aquí dentro, mamá va a empezar. Tienes esta opción usada nueva persona. Cierto. Y no lo escribí porque pensé, OK, OK, tal vez va a funcionar sin ella. Entonces adentro para estar aquí donde estamos haciendo connect, necesitamos escribir coma y usar paquetes nuevos. Es cierto, Vamos a reiniciarlo de nuevo. Entonces básicamente estos muestra que puedes trabajar con Dr Realmente eficiente Obtienes algunos errores de Dhaka como en los registros como errores normales en tu máquina y puedes solucionarlos fácilmente. Y no es gran cosa. Como puedes ver ahora, después de empezar, no consigo errores. Entonces aquí tenemos un P I y A PDB. Son registros impresionantes de un p I. D. Ser y advertencias con respecto a la duplicación como descubrimiento de servidores y monitorear un motor en nota. Pero en realidad no nos importa porque para no para nosotros, es importante que quien se inició con éxito por el servicio. Y esto significa que aquí dentro de índice, pasamos por connect. Por lo que estamos conectados y en abierto con comenzó nuestro servicio, lo que significa que estamos conectados a nuestra base de datos y debería funcionar. Entonces una vez más, cómo está funcionando. Por lo que aquí tenemos nuestras sillas índice fuente. Contamos con base de datos conectada y conectamos a bases de datos Mangoose connect donde estamos aceptando nuestra DB. Y entonces sólo tenemos sobre error en esto. Conectado en abierto en abierto significa que nuestro servidor, nuestra base de datos se inició y podemos iniciar nuestro servidor. Así que iniciar el servidor es solo ayuda. Escucha y nunca se aburre Host y conecta db de nuestros archivos adicionales. Y en configuraciones, tenemos estas tres propiedades del proceso. Y así estas tres propiedades peor embelleciendo afuera en Docker componer y dentro de nuestra ayuda de 40 b, usamos esto para ser de Docker componer para conectar base de datos de dedo. Ahora, si saltamos a docker, aquí se añadieron componer. Nueva imagen mongo última. Por lo que esta es la imagen que se descargó automáticamente. Entonces no tenemos aquí Dr. File on en su EPO Y él ha escrito Depende de un p i d ser, que significa que esta base de datos debe comenzar primero. También aquí se nos debe mongo db y luego un p i d. ser. Entonces este es exactamente el servicio. Entonces esta es su propiedad. Entonces estamos diciendo que este mongo db Ural es común a partir de este servicio de servidores. Y aquí está el puerto predeterminado fuera de mongo DB. Y esta es su base de datos que queremos utilizar. Esto es todo. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 12. Realizar peticiones de base de base: en video de tesis. Yo quiero hablar de hacer solicitudes de base de datos, pero festival quiero entender que realmente entendiste lo que son las imágenes parlantes. Entonces básicamente en video anterior viste que acabamos de escribir aquí para nuestro epi. D ser imagen de servicio mongo última y esto es todo. Y creo que para mucha gente, esto es algo de magia porque como, no entiendes lo que pasó dentro. Y vamos a comprobar cómo básicamente se ve esta imagen mongo db latest Así que esto es exactamente lo mismo. Al igual que creamos aquí nuestro archivo docker. Entonces, básicamente, cuando la gente creó esta imagen mongo, simplemente crearon algo como no de nodo, claro. Pero tal vez de un boom a ti puedes aquí mismo, por ejemplo, quitarlo todo y justo aquí de Mobuto. Digamos 16. Y luego acaban de instalar lo que necesitan para tesis imagen mongol. Entonces básicamente. De acuerdo, tal vez no tengan esta copia trabajada aquí y así sucesivamente. Pero puedes simplemente John todos los comandos aquí como lo hiciste anteriormente. Servidor India Linux, por ejemplo. Aquí mismo se puede, por ejemplo, desde Mobuto y después John. Y aquí estás haciendo algo como Abd get install. Y aquí va, Digamos mongo y esto es básicamente comer. Acaban de instalar Bongo en este jarabe. Entonces con mando, pueden decir que cuando se construya esta imagen, necesitamos iniciar Mongo. Entonces están escribiendo algo como mamá consiguió, por ejemplo, para empezar mongo DB. Y básicamente esto es comer. Entonces como puedes ver, no es magia dentro de cada archivo docker, y cada imagen es solo un conjunto de comandos los cuales están ahí para construir y crear esta imagen. Y entonces puedes preguntarme. Pero cuál es la diferencia entonces, entre compartir este tipo de imágenes a través del Dr Hub y simplemente compartir en algún mejor guión como donde simplemente escribes EP, conseguir uno bueno para ser y así sucesivamente fuera de curso, las principales diferencias que compartir una imagen está compartiendo la instantánea fuera de tu servidor Lennox, lo que significa que así es como tu clase e instancias. Entonces la clase es tu imagen, y tus contenedores son instancias, lo que significa que solo compartes la imagen y estás seguro de que en esta imagen, todo lo que él quiere instalado es lo mismo en todas partes. Entonces si instalaron la versión Mongo DB, no sé 16. Entonces esta versión estará ahí para siempre. Nunca se cambiaría a una versión 17 o algo así porque tienen esto dentro de la imagen. Entonces espero que hayas entendido que no hay magia dentro de las imágenes. Es sólo un conjunto de comando toe construir una imagen y luego estamos usando estas imágenes para crear nuestros contenedores. Entonces volvamos a nuestra nota porque no necesitamos cambiar el expediente del doctor y comprobar qué podemos hacer con nuestro A p i d Ser Así primero, todo lo que quiero hablar de este mongo db aquí. L como entendiste. Este es el nombre fuera de nuestro servicio y este es el puerto. Y este es el puerto por defecto donde se inició mongo db dentro de este servicio y este es simplemente el nombre de nuestra base de datos podemos usar aquí diferentes bases de datos y no importa porque mongo db las creará para nosotros. Lo que es más interesante es el db de suministro. Según usted entiende, obtenemos un llamado link toe el servicio por lo que básicamente podemos usar el nombre fuera del servicio entre servicios. Entonces, como se puede ver aquí en declaración fuera del servicio del FBI, podemos usar eso como la referencia. Dos son los servicios y está sucediendo a través de la red. Pero hablaremos más adelante al respecto. Para nosotros, es importante. Entiendan que aquí esto a p. i. D. B es realmente bueno porque no es algo así como anfitrión local o alguna dirección I p, porque en este caso, tres debates separados saben lo mismo en todas partes. No necesitamos cambiar este año l, por ejemplo, por producción o local porque siempre es la referencia a otro servicio. Ahora hablemos de hacer solicitud de base de datos. Entonces aquí ya estamos inscritos Docker componer una compilación. Y viste que para nosotros, donde empezamos primero son como yo d ser y luego nuestro anfitrión, Como puedes ver, no tenemos ningún error. Y ahora en nuestra aplicación fuera de las llagas de cielo y el índice aquí después del servidor de inicio, podemos hacer algo con base de datos fuera de curso. No vamos a implementar toda la aplicación aquí en con nowt, pero menos queremos comprobar que Así es exactamente como un dicho y que unas bases de datos disponibles aquí y podemos usarlo. Una cosa más que quiero hacer aquí es Cónsul log nuestro Deby porque aquí tenemos que estar dentro de nuestra configuración Y sería realmente agradable ver este año l en el log cónsul cuando iniciemos nuestro jarabe. Entonces simplemente aquí base de datos Estás bien Y aquí está Debbie. Ahora necesitamos hombres temprano para reiniciar nuestro Docker componer. Y como pueden ver aquí, tenemos aquí base de datos su l mongo db a pastel, bla, bla, bla. Lo que significa que nuestro d b es correcto. Y ahora podemos hacer que eso obedece peticiones. Ya que estamos usando Mangosta, abramos la documentación. Entonces aquí está empezar. Ya hicimos nuestra primera conexión. Y va Wissmann, si no lo sabes, nos estás definiendo esquema. Lo que significa que este es el esquema para el modelo. Y aquí estás diciendo que tienes Entity Kitty con nombre. Normalmente diría que para una aplicación tienes algo como esquema de presumir, esquema artículo que esquema de usuario y así sucesivamente. Entonces, como pueden ver aquí, simplemente lo basaré en algún lugar de la parte superior porque esto en realidad no está relacionado. Toa hacen esto en su arranque. Esto es como una definición. Entonces digamos, aquí tenemos esquema de Kitty. De acuerdo, bien por ahora. Ahora necesitamos aquí dedo de importación menta va. Entonces estamos requiriendo. Aquí, mamá va y ahora esquema go humano creará esquema de gatito. Ahora, lo siguiente que tenemos que hacer es, como se puede ver aquí, toe compilar esquema dedo del pie el modelo. Entonces básicamente aquí quiero cabalgar no a nuestro sino a Const. Y este es nuestro modelo de gatito y modelo de mongoles gatito esquema de gatito. Lo que significa esquema es cómo se ve nuestro modelo. Entonces aquí tenemos gatito. Y como puedes ver, podemos hacer algunas cosas con nuestro gatito. Vamos, por ejemplo, justo esto ahora después de arranques. Claro, En realidad, todavía no importa, porque thes cosa no hace una solicitud base de datos del dedo del pie. Pero al menos donde, seguro, aquí que tenemos base de datos aquí. Entonces nombremos silencio y nuevo gatito y reiniciemos nuestro docker componer. Entonces, como se puede ver aquí, se puede ver el nombre silencio, que significa aquí creamos una instancia fuera de nuestro modelo gatito y silencio de tesis y básicamente aquí ¿Qué es interesante cuando lo reiniciaremos de nuevo? Se puede ver que aquí tenemos un objeto con I D y nombre, lo que significa que esto ya está creado. Entidad de base de datos. No está guardado, pero podemos salvarlo ahora porque ya está creado por los mongoles. Cuenta con un 80. Entonces vamos a comprobar cómo vamos a guardar las cosas en la base de datos. Entonces como puedes ver aquí, podemos usar métodos. No necesitamos eso. Y aquí tenemos fly fee dot Seguro. Entonces básicamente, exactamente este código podemos copiar pegar aquí consejo. Mira, no necesitamos esperanzas. Yo quiero pegarlo aquí. Y alguna vez quiere el nombre Fluffy en silencio Porque nuestro gatito es silencio. Y aquí estamos, justo en punto Guardar donde montamos. Llama a Beck y llama a Beck tiene error, y el silencio será nuestro resultado. Denominémoslo resultado porque está más claro. Y ahora si tenemos alguna vez vamos a montar consejo, mira error. En otro caso, queremos probarlo. Resultado de registro cónsul. Entonces reiniciemos nuestra base de datos. Nuestro docker componer. Perdón. Y como pueden ver, obtenemos una respuesta inválida. En realidad, podríamos solucionar este problema antes porque como puedes ver, el problema es que el espacio de nombres no se ve correcto. Entonces aquí tenemos corchetes simples y dentro tenemos un empate, luego corchetes dobles y luego gatitos de punto Básicamente, debería ser un pastel dot gatitos resultado Este símbolo. El interrogante es por qué es así. Y la respuesta es una línea antes que lo es. Vea aquí la base de datos glogg cónsul, su l y la diferencia entre host y en la base cerca de El es que aquí tenemos esta cotización doble. No los necesitamos, en realidad. Y esto significa que no dimos valor correcto de nuestra composición docker. Entonces vamos a comprobar cómo se veía aquí. Como puedes ver, mongo, mongo, Ural se escribieron con comillas dobles y no, igual que una cuerda. Si abrimos este archivo de referencia sobre componer aquí, se puede ver que estoy en la sección fuera del entorno. Y hay dos cosas diferentes cómo podemos escribir un ambiente. Se puede escribir como un objeto. Entonces, básicamente, como aquí con Cullen o con signo igual y muerte aquí como nos votan con eso aquí fuera curso, no podemos corregir los símbolos porque simplemente será una fuerza. Si convertimos todo el dedo del pie tal notación, entonces en realidad no importa qué comillas estaban usando, sino en notación con guión. Deberíamos quitar estos símbolos por completo. Ahora reiniciemos nuestras encuestas de Dr com y comprobemos si está funcionando. Como puedes ver, no obtenemos ningún error. Ahora base de datos Ural es correcta y que luego vemos nuestro resultado. Como se puede ver, tenemos aquí me d nombre y tesis Simple V, que es igual a cero. Y esto en realidad es una versión. Y este es el mercado que nuestro registro se guardó por completo correctamente en la base de datos. Como puedes ver, creamos con éxito para servicios uno con base de datos y segundo con nuestro proyecto A pastel. Y ahora todo está funcionando. Podemos, después de arrancar el servidor, utilizar nuestra base de datos y está funcionando bien. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 13. Volúmenes: en video anterior con éxito guardado esta base de datos Silence kitty toe, lo que significa que nuestra base de datos está funcionando. Pero la pregunta es qué pasa cuando empezamos a componer nuestro acoplador. Entonces, básicamente, cada vez que construyamos una y otra vez nuestro contenedor, todos los datos serán retirados dentro y recreados de nuevo. Entonces básicamente, como puedes ver aquí en nuestro archivo docker, tenemos esta copia dot que significa que cada vez que se construye contenedor, donde hacer frente una y otra vez a nuestros archivos que tenemos aquí, lo que significa que cada vez que cambiamos solo un archivo como este index jazz, luego iniciamos el contenedor y todos estos comandos DACA está tratando de hacer de nuevo y básicamente bien, está revisando. No necesitamos hacer npm install porque lo hicimos previamente. Pero luego copia todos los archivos, lo que significa básicamente fue cada nueva compilación eliminará todos los archivos y los creará. Julie. Y este es exactamente el beneficio del médico porque sabes que todo se crea cada vez desde cero. No queda nada ahí, nada un alto Y por supuesto es bueno para propósitos de pruebas porque estamos seguros de que todo está instalado desde cero. Pero no es bueno cuando queremos persistir en la información. Y básicamente normalmente necesitamos casos en los que queremos persistir. Información. En primer lugar, es una base de datos. No queremos eliminar datos de base de datos con cada recompilación y en segundo lugar, sus fuentes fuera de nuestro proyecto, como se puede ver ahora en Dhaka, archivo cada vez que reconstruimos nuestra imagen. Grabar p todos los archivos esta copia punto punto significa trabajar en todos los archivos fuera de nuestro proyecto de nuevo dentro de la imagen y esto está todo bien, pero no queremos construir una imagen cada vez que estamos haciendo cambio, simplemente no es eficiente. Entonces, básicamente, cuando escuchamos cambiar una cadena, no queremos reconstruir toda la imagen. Queremos de alguna manera dedo del pie almacenar estos datos en algún lugar, pero no dentro del contenedor, porque básicamente, los cambios están sucediendo. Y no sólo vamos a hacer este cambio dentro del servidor Web. Esto es todo. Y hay una solución para esto, que se llama volumen. Básicamente, abramos la documentación. Es realmente bonito aquí, y hay una sección que se llama volúmenes, y la idea es que se pueden montar volúmenes al pie del servicio. Puede ser un poco difícil, entiende si no sabes lo que es el volumen en absoluto. Pero básicamente la idea es que este es algún lugar adicional. No es una imagen, no es un contenedor. Es un volumen, lo que significa que es el lugar fuera del contenedor donde almacenamos algunos datos. Y normalmente DACA no elimina estos datos fuera de curso. Podemos hacerlo si queremos, pero normalmente entre reconstrucciones, estos datos están ahí. El segundo beneficio del volumen es que podemos usar el estado A entre nuestros servicios. Lo que significa cuando saltamos a nuestra composición Docker. Y digamos que tenemos datos como no sé, por ejemplo, por ejemplo, base de datos. Queremos toe usar esta base de datos en serval varios servicios no solo tiró un pastel sino directamente usando los archivos, y lo podemos hacer con el volumen donde solo diciendo una cueva nombramos a este volumen no sé completo y entonces dependemos de los volumen en diferentes servicios, Así que básicamente esto es una idea, y aquí hay un ejemplo de cómo podemos hacerlo aquí. Es un poco complicado porque aquí está el camino completo justo en él. No lo vamos a escribir así. Probemos taquigrafía, Syntex. Entonces básicamente aquí cómo podemos compartir base de datos del FBI por ahora. Entonces la primera pregunta es dónde están los datos y cómo queremos nombrarlos. Digamos que aquí tendría una imagen. Y ahora tenemos volúmenes, propiedad, y aquí con Dash, podemos escribir, digamos mongo db data y esto es slash data slash db y creo que los datos mongo db no es buen nombre. Lo vamos a cambiar. Pero básicamente, la idea es que la izquierda puede ser lo que sea. Tan sólo un nombre como lleno. Este es Justin. Identifíquese para nosotros y slash data slash db Esta es la ruta dentro del contenedor. Por lo que esta es la ruta donde se montarán estos datos este volumen. Entonces básicamente, normalmente, normalmente, base de datos mongo db está aquí en datos de slash Slash para ser. Es por eso que somos Lincoln es exactamente en el lugar donde está en este momento. Y creo que el nombre mongo db back voy a ser más comprensible porque él alguna vez entiende De acuerdo, . este es el volumen con datos mongo DB. Y básicamente, este es el volumen que inicialmente se creó dentro del FBI o para un P I. Ahora hay siguiente punto. Por lo que esto en realidad es suficiente. Si queremos almacenar y persistir datos justo dentro de este a p I d Estar pero seguro Más tarde queremos reducirlos en otros lugares. Para esto podemos conducir sección de volumen en la ruta aquí y justo aquí. Mongo db a p i Y aquí más debería ser una columna al final. Entonces básicamente, esto significa que este es el nombre que será global. Y con este nombre en cualquier este servicio que tengamos Por ejemplo, en un pi podemos utilizar este volumen. Entonces básicamente, reiniciemos nuestro acoplador, compongamos y comprobemos lo que obtenemos. Entonces aquí me desplazaré en la parte superior de porque es importante. Y como se puede ver aquí, tenemos una palabra de estado de servicio de advertencia I. D. B está usando datos de volumen db del contenedor anterior y necesitamos retirar contenedores existentes para usar. Por lo que este anfitrión Meppen no tiene ningún efecto. Entonces básicamente, vamos a montar este comando Docker componer cerámica yo d ser. Y básicamente el problema es que anteriormente no usábamos el volumen y ahora lo estamos usando . Por lo que para esto queremos quitar por completo este 80 d ser. Y una vez más John Docker redacta y vamos a comprobar si tenemos algún error. Entonces aquí no hay advertencias y se puede ver que lo creamos todo con éxito y aquí no tenemos ningún error. El interrogante es cómo comprobar si tenemos volúmenes no son para estos. En Daca hay un comando que se llama volumen oscuro. Es en realidad puedes aquí mismo, solo aka volumen y obtendrás una buena ayuda. Entonces aquí está el uso, volumen médico y el comando. Entonces aquí podemos crear volumen de dunk necesidad de hacerlo por casualidad porque Docker componer lo está haciendo para nosotros. El motivo Inspeccionar último brune e hijo. Entonces, básicamente, probemos Dr Volumen ls. Y como pueden ver, tengo montones fuera de contenedores y normalmente tendré aquí nombre de volumen. Entonces como puedes ver aquí tenemos un docker mundo real y una golosina ser un pastel. Y como puedes ver aquí, Munger, debate pi es exactamente el volumen que creamos aquí. Ahora podemos aquí mismo, Doctor inspeccionar Y luego el nombre. Como puedes ver aquí podemos ver cuando se creó algunas etiquetas y punto de montaje y así sucesivamente. Por ahora, no necesitamos esta información, pero básicamente se puede entender que el volumen fue creado con éxito. Creo que con un pastel con él correctamente, claro. Pero no estaba tan claro lo genial que es y cómo son todos nuestros problemas. Es por ello que quiero mostrarles cómo podemos hacer lo mismo por los archivos. Entonces básicamente, por ahora en nuestro archivo DACA del FBI estaban copiando todos los archivos en la compilación. Y esto está bien cuando estamos haciendo una construcción de producción, lo que significa que justo aquí el Dr Compuesto y estas facturas y empezar a componer nuestro docker . Pero el punto es que también somos un entorno de desarrollo donde se advirtió de cambiar los archivos fuente básicamente para la producción. No queremos esto y prefiero crear archivo adicional como docker componer jahmal, pero para el desarrollo. Y aquí podemos crear Docker componer pensamiento desarrollo dot jahmal. Y ahora aquí escribiremos básicamente lo mismo, pero no tanto. Por lo que siempre crea servicios y sabemos que tenemos aquí al menos ik I y podemos sobrescribir algo aquí podemos anular aquí Comando con Yar. Perdón. En PM Ron Muerte y volúmenes Y les diré lo que estoy haciendo en la segunda. Entonces básicamente en volúmenes como antes nacieron para especificar el camino Así el camino será un llagas de tarta Y aquí Colin y luego usuario y aquí habrá llagas fuente AP. ¿ De qué se trata todo? Entonces tenemos Docker componer y la idea off más oscura que podemos por defecto Si acabamos de probar Bueno docker componer algo Se necesita el acosador componer jahmal Pero también podemos decir docker componer menos f y luego el archivo. Entonces básicamente aquí podemos guardar Docker componer jahmal y luego un modelo quipped archivo compuesto como se puede ver por ejemplo, menos f Dr Campos Jahmal y luego Docker componer desarrollo Yama. Y entonces estamos diciendo, por ejemplo, construido como siempre. Y la idea es que en este caso, tome todo de Docker componer y estamos muy contentos Todas las propiedades que definimos en docker componer desarrollo con propiedades que escribimos aquí Esto significa que básicamente tomaría todo desde aquí pero en una sección de tarta comando sobrevendido y volúmenes como se puede ver aquí. No teníamos volúmenes en absoluto porque no necesitamos toe porque esto es producción y para producción No queremos cambiar archivos fuente, pero en desarrollo por supuesto, queremos cambiar archivos de celdas. Es por ello que queremos montar con el volumen nuestra carpeta fuente. Entonces básicamente aquí se monta la fuente y esto significa que este es camino en nuestro sistema. Se trata de un llagas en tarta y hace lo correcto. Se puede ver el camino dentro del contenedor. Entonces básicamente tomamos el mismo camino como waas en archivo Dhaka y aquí el camino realmente olvidamos cambiarlo de nuevo. Es app de fuente de usuario Y ahora aquí puedes ver que en desarrollo es llagas absolutas de fuente de usuario porque queremos exactamente la misma estructura. Entonces, ¿qué significa para la producción se tomaron archivo a la izquierda Docker componer Jahmal para el desarrollo estaban justo al mando como este menos f luego archivo de desarrollo de archivos de producción y luego el nombre fuera del comando Y aquí estaban anulando comando, lo que significa que tenemos un mando diferente. Entonces aquí, por ejemplo, podemos usar ningún demonio y si no sabes ningún demonio Es una herramienta para jazz conocido donde estamos iniciando en cada archivo cambio de observante y tenemos aquí volúmenes lo que significa que podemos cambiar archivos sin reconstruir el sistema. Y vamos a comprobar cómo se verá como primero horrible. No instalemos ningún demonio dentro de nuestro pastel. Entonces vamos con un chico y aquí simplemente NPM instalar ningún demonio. Entonces lo estoy instalando y se puede ir, Go. Lo que no es Demon es Y por dentro en PM simplemente puedes instalarlo por ejemplo globalmente no necesitamos a nivel mundial y luego a la derecha ningún demonio y algunas condiciones o podemos crear archivo de configuración para ello y luego justo a la derecha Sin demonio, como se puede ver con exitosamente instalado el paquete. Ahora saltemos a nuestro paquete del cielo. Sí, aquí no tenemos demonio. Y ahora quiero crear aquí y usted archivo de configuración donde el conflicto fuera ningún demonio irá. Por lo que básicamente el nombre se conocerá demonio dot Jason y este es un objeto. Y aquí tenemos verbales y las verbales son falsas. Pero a veces se quiere tenerlo en verdad. Si estás depurando algo pero también tienes tableros y esta es su manera. Donde con 55. ¿ Qué carpetas queremos ver? Y para nosotros esta es la carpeta fuente. Y aquí tenemos exacta. Y este es el comando que queremos ejecutar cada vez que se cambie el archivo ahí. Y esto es nota. Y aquí está llagas slash índice de ajedrez. Entonces básicamente, esto es ejecutivo para mandar que compartimos en nuestro paquete. Jason, esto es todo. Ahora tenemos que crear nuevo guión aquí es sordo. Y aquí sólo intentamos ningún demonio, lo que significa cuando estoy saltando ahora aquí en una p puedo escribir y PM John Dev Y va a empezar ningún demonio como puedes ver. Pero fuera de curso obtenemos un error porque nos falta mucho ambiente de proceso de los rebeldes porque nos aspecto para encontrarlos en línea a través de docker componer y no necesitamos iniciar un programa como este. Pero el punto es que configuramos con éxito no demonio. Y ahora podemos saltar atrás e iniciar Docker componer con desarrollo. Entonces tenemos razón en las encuestas de comunicación de Dhaka luego menos f docker componer Yaman. Y aquí no lo dije correctamente. Debería ser una vez más yo menor. Entonces el siguiente archivo, y entonces tienes razón en el siguiente archivo que lo anulará. Y aquí hemos construido. Por lo que se trata de Docker componer menor nombre de archivo menos un nombre de archivo y luego el comando. Entonces estoy golpeando Enter y como pueden ver, donde construir cosas También, como pueden ver aquí tenemos un pagado para ser acostumbrados a Nimitz saltando. Lo que significa que DACA ve que yo d ser no se cambió. Y no necesitamos hacer nada aquí, así que acabamos de construir un pastel. Como pueden ver, no tenemos ningún error. Y aquí tenemos algunas advertencias, pero no importa, y se construyó con éxito. Ahora empecemos. Entonces estamos escribiendo. Y como pueden ver, está funcionando y nuestro anfitrión está ahí. Recarguemos la página para que veamos que está funcionando. Slash Test está funcionando, no prueba nuestro Un servicio de pago está funcionando. Por lo que ahora voy a golpear enter varias veces para limpiar la pantalla. Pero mi servicio sigue ahí. Y ahora saltemos en una carpeta de empate en la fuente, digamos en índice y aquí simplemente podemos corregir, no dar resultado, sino resultar con volúmenes. Y guardar estos y mermelar Beck. Como pueden ver aquí, tenemos algunos cambios. Entonces básicamente, de una p, tendré un mensaje. No demonio, apenas iniciando Q dos cambios, lo que significa que no construimos una imagen. Pero DACA Así que nuestros cambios aquí porque tres y no demonio dentro del contenedor y ve los cambios en esta carpeta, y como esta falla está dentro del volumen, no está dentro del contenedor. Por lo que estos cambios están ocurriendo justo dentro de este volumen. Entonces estamos cambiando en este archivo y este archivo automáticamente Israel o lo hizo antes, grande y Web Serra. Entonces aquí, ningún demonio acaba de empezar sin sillas de índice fuente y estamos recibiendo la misma advertencia de siempre, Pero básicamente nuestro proyecto se inició, y aquí está resultado con volúmenes, lo que significa ahora con cada guardar nuestro contenedor ve los cambios y nuestro servidor Web se está reiniciando. Entonces esto es exactamente lo que queríamos para el desarrollo. Por suerte, cuando hacemos algunos cambios en el frío, nuestro acoplador componer simplemente nos muestra los cambios. No necesitamos reconstruir contenedores ni hacer cosas como lo estamos haciendo para la producción. Creo que este ejemplo ilustra mucho mejor el uso de volúmenes. Y la última pregunta que quizá te moleste. ¿ Por qué aquí? Yo lo escribí así y en desarrollo resultó así. Entonces aquí tenemos volúmenes en la carretera y él no son tan básicamente, esta es la notación nombrada, que significa donde nombre en volúmenes en la carretera. Y esto significa que podemos reducir estos volúmenes en todas partes. Aquí, aquí, no se llama volumen. Es en volumen de línea donde solo estamos usando el volumen en línea, lo que significa que no necesitamos volver a usar la fuente de un chico en cualquier lugar. Es por ello que simplemente decimos en línea. De acuerdo, Por favor toma esta carpeta y ponla aquí como ensamblar. Esto es todo. Entonces espero que entiendas ahora cómo funcionan los volúmenes y por qué los necesitamos como siempre. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 14. Servicio auxilio: en video anterior trabajó con nuestros volúmenes. Entonces ahora sabemos cómo podemos usar los datos fuera de nuestros contenedores. Entonces nuestro servicio a pastel Ahora, aquí está la base de datos dentro. Estábamos conectados a la base de datos y podemos empezar a escribir código. Entonces básicamente, nuestro servicio A pastel ahora está totalmente listo, y puedes justo aquí cualquier proyecto o cualquier pastel que necesites. Ahora, lleguemos a nuestro otro servicio fuera servicio de sindicación. Entonces, básicamente, como se puede ver aquí, podemos copiar pegar todo lo que tenemos dentro de nuestro FBI porque usaremos el mismo estar conectado. Pero por supuesto, será otra base de datos, y también tendremos servidor de inicio, y básicamente, la estructura fuera de los archivos será la misma. Aquí estarán los mongoles y Connect. Y aquí tendremos configuración. Copiaré a todo el FBI dos búhos y sólo procederé exactamente igual que hicimos con nuestro FBI. Entonces tenemos aquí un archivo dr del Directorio de Trabajo de Node, y estamos haciendo las mismas cosas. Pero básicamente, estamos haciendo esto sólo por el bien de la sencillez. Porque en realidad, cuando tenemos servicio, esto significa que podemos tener tecnologías completamente no relacionadas. A lo mejor queremos escribir la ciudad I con Ruby on rails, así que está completamente bien. Entonces aquí tendremos archivo DACA, que construirá nuestro proyecto ruby on rails. Y por supuesto, entonces tenemos otros archivos aquí en las fuentes e incluso tal vez esto una carpeta de tarta que será un depositario adicional y algún otro equipo bien mantenido el asiento I Lo que significa que este es el principal beneficio fuera del doctor usted crear servicios pequeños no son pequeños. Esto depende de usted, y los servicios de tesis están haciendo un solo propósito. Entonces, por ejemplo, nuestro servicio del FBI solo está implementando un pastel para nuestras entidades. Y nuestro servicio de autenticación puede estar escrito en otra tecnología. Si queremos Toe está manteniendo por otro equipo y están haciendo afuera indicación ahí pueden , incluso con la ayuda del archivo DACA aquí Irán tesis cielo sin todos los demás servicios si quieren . Entonces escuchemos ahora. Mi carpeta de autenticación está vacía y solo copiaré y pegaré un pastel como fuera. Básicamente, sólo lo hacemos por la simplicidad porque aquí hemos expresado mangos y conocido demonio. Entonces este es exactamente algún otro servicio donde el nodo está funcionando. Entonces vamos a comprobar si todo es correcto. Aquí tenemos nuestro demonio desconocido para el desarrollo y tenemos exactamente cuatro llagas. Y aquí tenemos configuración que en todas partes todo es apátrida y este es el beneficio. Podríamos simplemente copiar pegar la carpeta y no necesitamos cambiar nada porque toda configuración es común desde fuera. También usaremos aquí mongo, db pero la otra base de datos y completamente otro servicio. Y también aquí en nuestro índice, nos conectamos a mongo DB. Y aquí tenemos conseguir prueba. Pero esto es autenticación, así que vamos aquí mismo nuestra autenticación. Sarah está funcionando correctamente, y ahora aquí comenzó el servicio de Indicación en puerto y aquí estará nuestro puerto. Entonces esto es básicamente comer aquí. En realidad podemos quitar las cosas que tenemos con gatito y niño y seguro porque sabemos que la base de datos funcionará. Entonces, básicamente, esto es solo un ejemplo de cómo nuestro proyecto puede reconstruirse con base de datos y servicios. Entonces básicamente, ahora aquí estoy casi limpio. Entonces aquí está nuestro calderín de servicio de sindicación. Y aquí tenemos base de datos conectada. Ahora vamos a revisar el archivo docker. Este es exactamente el mismo directorio de trabajo. Esto está completamente bien porque es completamente otro contenedor que estamos usando aquí. Nota CO P y P M instalan todo se ve bien. Ahora saltemos a nuestro Docker Compose. Por lo que aquí tenemos un P I y D p i d. ser. Y quiero aquí crear dos servicios más uno para sindicación, un p I, un p I, y segundo para nuestra base de datos de sindicación. Entonces básicamente ahora, como pueden ver, mi doctor compone correr. Y ahora, cuando saltaron a la consola, puedo secarla Dark ups y Tokyo PS significa Dr Procesos. Por lo que estos son dos procesos que iraní ahora el 1er 1 es nuestro pastel de visita de contenedor. Y el 2do 1 es contenedor con base de datos y aquí al final. Entonces estas son las tablas y este es el yo d y demás y que tengas el nombre. Así que básicamente nombre Israel Mundo Doc ap I menos uno Y aquí un p i D B menos uno. Entonces básicamente los nombres no son tan malos, Pero solo asuma que tienes como, varios proyectos en tu máquina. Por ejemplo, no sé cinco y ustedes tienen el criticado cada proyecto y por dentro. Si tiene servicios como 10 o cinco tal vez y luego en Dhaka te procesa ella, como, realmente le gustan 50 contenedores. Y realmente quieres distinguir qué servicio aquí o qué contenedor está relacionado con qué servicio Y entonces puedes, por ejemplo, revisar qué partes expuestas aquí. Qué comando está usando es y así sucesivamente. Entonces esto es útil, pero queremos hacerlo más legible. Entonces básicamente este nombre no es 100% legible. Por supuesto que lo podemos entender, pero básicamente la idea es que en cada servicio podamos especificar el nombre del contenedor. Entonces digamos que ahora un pastel decía que nombre de contenedor es igual y me gustan las reglas estrictas de nomenclatura , que significa que estoy nombrando todo con los nombres ritmo fuera del proyecto. En nuestro caso, será riel world dash doctor, y luego desmenuzar el nombre del servicio. Entonces en este caso, será un p I. Ahora vamos a copiar nombre del contenedor a nuestro a p i d ser y nombrarlo slash Keep I slash db Así que ahora reiniciemos nuestro docker componer y comprobemos qué nombres son. Entonces corremos una vez más y ven aquí que tenemos nombres normales como lo proporcionamos ahora con estos nombres, Es mucho más fácil trabajar y entender. ¿ Qué es este contenedor y encuadernado Ahora? Empecemos por describir nuestro servicio A pastel. Este será un pastel para nuestra indicación de casa. Entonces démosle el nombre. Digamos búhos y creo que esto es suficiente porque sabemos que nuestra ciudad sólo está relacionado con servicio de autenticación del dedo del pie. Ahora aquí hemos construido y nuestra compilación está viendo cuatro horas Indicación proyecto, Lo que significa que esta es carpeta de autenticación y hay archivo Docker dentro. Ahora hablemos de nombre del contenedor. Estamos haciendo el mundo real, o puede, o puede, ya que el prefijo y el nombre del servicio está fuera indicación. Ahora, ¿qué mando tendremos? Y aquí tenemos en PM Ron empezar exactamente como en nuestro servicio a pastel, porque estamos justo en. Ahora el archivo para producción siguiente es Wrist Heart. Entonces detengamos al arte a menos que se detenga. Ya hablamos de esta opción solo para recordarle que el contenedor se reiniciará automáticamente si, por ejemplo, no se inició correctamente o era Dreesen. Si no se detuvo el siguiente punto, facilidad nuestro a puerto. Entonces básicamente, aquí importa. Podemos decir ¿qué pobre queremos exponer? Entonces vamos justo aquí. El 3001 y vamos a mapear a 3001. Entonces lo que significa tres solventes uno será nuestro puerto por dentro y por fuera. Ahora hablemos de medio ambiente. Entonces aquí tenemos nuestro puerto, que es 3001. Ahora tenemos a nuestro anfitrión. No sé, en realidad, si lo necesitamos o no. Por lo que sólo voy a rodar cuerda aquí y ellos piensan que después la vamos a quitar un cambiarlo si necesitamos dedo del pie y el último. Lo más importante es el Ural mongol. Entonces aquí entre el su Ellis Mongo DB Y aquí tendremos no un p d ser, sino búhos DB y será servicio adicional para la autenticación. Entonces vamos a proporcionar aquí nuestro puerto y vamos a dar nombre a la base de datos. Creo que es suficiente. Y ahora tenemos nuestro bloque respecto al servicio de autenticación. Ahora es el momento de escribir la autenticación para ser, creo que también DB es realmente buen nombre. Y aquí sólo tenemos lo mismo que teníamos para un pastel db. Por lo que proporcionamos nuestra imagen mongo. Entonces hemos contenido un nombre. Es realmente mundo. De acuerdo, este es nuestro DB. Y ahora tenemos volúmenes. Y básicamente, en este caso, será Mongo DB House y el Ural dentro. Nuestro servidor será el mismo día a DB. Y ahora debemos apegarnos. Tomos nombrados Mongo DB búhos y luego Colin. Entonces básicamente, como puedes ver aquí, agregamos nuevos búhos para ser y agregamos Nuevo bloque para servicio de autenticación. Vamos a comprobar si nuestra composición docker sigue funcionando. Entonces detengamos a nuestro docker Compose y simplificemos al Dr. Kam. Encuestas hasta minutos, minutos construyen. Entonces no uso muchos yo aquí porque no quiero probar nuestro entorno de desarrollo. Por lo que ahora estamos construyendo nuestra producción. Entonces aquí está se puede ver mucho de nuestros iniciados tenemos Aquí están dos b y F B I d ser y vamos desplazarnos un poco en la parte superior para ver que todo está bien, como se puede ver aquí había tres líneas sobre nuestros búhos que comenzaron la autenticación servicio en pobres 3000 y nuestro anfitrión facilidad y este es el Ural que proporcionamos. Entonces básicamente parece que funciona. Entonces aquí estábamos conectados toa son db y vamos a revisar en la parte superior. Normalmente, si tienes algunas advertencias, están en la parte superior. Por lo que me desplazaré aquí más y como pueden ver exitosamente construir exitosamente atacado un pastel más reciente y así sucesivamente y tenemos adjuntando y no ven ningún error. Entonces básicamente también se puede ver la línea creada volumen y aquí hay una buena para estar fuera. Entonces básicamente Docker componer creado mágicamente para nosotros volúmenes porque lo describimos aquí como un volumen con nombre y él creó volumen de tesis. Por lo que ahora los datos fuera de su indicación off en base de datos se persistirán dentro del volumen, por lo que parece que todo está funcionando. Y ahora saltemos dedo del pie navegador armadura y seca 3001 prueba de slash. Como pueden ver, aquí tenemos nuestro servidor de autenticación está funcionando correctamente y ahora podemos saltar a 3000 0 y nuestra encuesta del FBI ya está iniciada, lo que significa que estamos llegando al momento en que con un comando sin instalación, cualquier cosa en nuestra propia máquina puede comenzar a trabajar en el proyecto el cual tiene como diferentes servicios en su interior, y simplemente funciona fuera de la caja. Ni siquiera necesitas saber qué se instaló. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 15. Servicio de Frontend: ya estamos implementados nuestro servicio y servicio de autenticación del FBI. Fuera de curso. Los implementaremos un poco y veremos cómo pueden funcionar los servicios entre ellos un poco más tarde. Y en este lector, quiero enfocarme en nuestro frente y servicio. Y en realidad, es un poco complicado. Como ya dije, Siéntate en Dhaka puede estar tratando así que básicamente toma tiempopara entender todas las propiedades, entender cómo poner tu proyecto dentro. Y desde mi punto de pocos poner al frente y parte fuera Es la parte más difícil con trabajar con cabello oscuro. Y puedes preguntar por qué es así básicamente, en muchos proyectos como, por ejemplo, crear aplicación destrozada cuando solo lo instalas fuera de curso está funcionando fuera de la caja. Pero tienes cosas tan bonitas, como trabajar con consola interactiva. Entonces, por ejemplo, cuando empieces a crear rastrillado así, obtendrás un mensaje como si algo hubiera terminado al iraní en tus puertos 3000. ¿ Quieres iniciarlo en otro puerto y simplemente estás click? Sí, Y está empezando en otro puerto o, por ejemplo, que una app crear naufragada u otra herramienta que también son populares como, por ejemplo, para Angela, donde comienzas en Geezer Va y luego fue largo Polonia o, por ejemplo, con sockets Web. Actualizará tus cambios mágicamente en la recarga de resultados de tu página. Entonces básicamente, no necesitas como aquí en nuestro it guy calor cada vez que el Señor vea tus cambios. Realmente no puedo decir la hora Defiende de este hot mantra lording y al menos tres Lloyd en página cuando quiere al frente. Y pero en realidad, si estamos viviendo en el mundo Javascript, no podemos ir por otro lado, así que solo necesitamos trabajar con él. Por lo que vamos a instalar ahora nuestro frente y parte con crear aplicación naufragada. Entonces, básicamente, si no sabes qué es esto? Crear naufragado Deb, ¿hay herramienta especial que se instala para ti reaccionar con todas las dependencias. Fin de observador. Lo que significa que solo escribes un comando como y picos o en PM, creas app , mi ab, Y luego solo obtienes la carpeta con archivos calderados y solo necesitas escribir frío ahí. Entonces aquí puedes desplazarte dedo del pie sección npm y así es como creamos una app de creación rector en nuestra máquina. Entonces vamos a saltar a la consola. Yo estoy dentro de Riel World Doctor Carpeta. Y aquí también tengo frente y carpeta. No está funcionando así, por lo que necesitamos quitar este frente y caer el primero. Y entonces podemos montar este comando y pm en necesidad reaccionar ab Y ahora aquí estará el nombre y nuestro nombre será frente. Y luego solo hago clic al frente y, como pueden ver, crear aplicación destrozada e instala todas las dependencias y luego se crearán nuestro frente y carpeta . Por lo que sólo tenemos que esperar hasta que se instalen todos los archivos. Y estamos bien para ir. Crear paquetes antiguos reactivos, instalados con éxito. Y ahora estoy dentro de nuestro frente y directorio para que podamos ver nuestros archivos. Y ahora aquí podemos escribir inicio de NPM. Entonces con este comando, como se puede ver, tenemos esta consola interactiva, así que básicamente crear aplicación engañada nos pregunta ya hay algo corriendo en pobres 3000 y realidad esto es más oscuro. Y ¿te gustaría ejecutar la aplicación en otro puerto en su lugar? Y sólo estamos diciendo que sí. Y ahora en el navegador, conseguimos este anfitrión local de Ural 3002 y aquí hemos ayudado app fuente y seguro del dedo del pie la sangre. Entonces básicamente, cuando saltamos directamente en la consola y vamos al frente y a la fuente y por ejemplo, FGs. Por lo que aquí puedes ver algunas cuerdas que puedes ver aquí, editar temas doloridos y guardar dos confiados. Entonces vamos a poner algunos bancos aquí y luego tú justo que dedo del pie el navegador y se obtiene este texto aquí. Como puedes ver, nuestro crear reacciona, ayuda está funcionando, pero ahora está funcionando en nuestra máquina. Necesitamos de alguna manera ajustarlo de la forma en que podamos usarlo dentro de Dhaka. Por lo que renunciaré de su Web Serra fuera de nuestro frente. Y por ahora y ahora podemos saltar dentro de nuestro archivo de componer docker e intentar crear nuevo servicio para nuestro frente y y básicamente suena las cosas serán similares como lo hicimos antes. Entonces tenemos aquí carpeta frontal y construir y luego tenemos aquí contienen un nombre que Israel world docker y aquí será front end y también necesitamos puertos y como viste por defecto gran aplicación naufragada es Ronnen Import 3000. Entonces básicamente aquí. Podemos escribir 3000 3000 y luego aquí lo cambiaremos dentro de nuestro FBI. Entonces aquí no podemos tener el mismo puerto. Por lo que en su interior es 3000. Pero fuera será entonces 3001. Entonces aquí, hagamos que todo sea similar. Y vamos a apegarnos al mismo nombre. Y así lo tenemos todo. Uno aquí puerto es uno especificado. Por lo que es uno por dentro y otro por fuera. Y lo mismo para la autenticación Portis a entonces aquí tenemos que. Y afuera. También tenemos que Ahora, esto es todo. Nuestros puertos están especificados. Ahora necesitamos agregar la propiedad de reinicio. Por lo que el arranque será a menos que se detenga. Y necesitamos nuestra propiedad para el mando. Entonces básicamente, el comando será en inicio PM. En realidad, podemos escribir siempre en PM Ron, empezar por el bien de que sea lo mismo en todas partes. Entonces nuestro mando Andrew start está ahí, y si vamos a tratar de iniciarlo ahora, no funcionará. Y la pregunta es ¿por qué? Porque deberíamos tener problemas con esta consola interactiva para que podamos intentar iniciarla ahora . Pero básicamente no va a funcionar. Ya lo intenté, comer y me sale un problema dentro de consejo Directiva. Y luego lo busqué en Google y la razón tema de aire en crear aplicación engañada con guión de tres x. Entonces básicamente, dice que una nueva versión de Rex Creeps y en realidad no fue hace tanto tiempo estaba fallando en empezar dentro de atraparlo. Entonces, básicamente, el punto es que necesitamos especificar propiedades especiales para nuestra composición docker para decir que queremos consola interactiva. Entonces aquí para estos estaban diciendo como hoy en abierto y será verdadera entidad U igual verdadero y puedes comprobar si quieres este problema en crear naufragado AB Y básicamente la solución con Docker componer fue exactamente para proporcionar. Esta cosa está aquí, así que esto es realmente importante porque tenemos caliente Orden Montreuil por dentro crear AB naufragado y queremos tener consejo interactivo. Ahora intentemos iniciar nuestro docker componer como viste ya lo probé y se está rompiendo porque tenemos un estrecho no se puede localizar el archivo DACA especificado, lo que significa que no creamos archivo DACA dentro de nuestra carpeta con front-end. Y sí, esto es exactamente comer. Y por eso me gusta docker componer porque el mensaje está apagado. Los errores son realmente comprensibles. Entonces básicamente, especifiquemos en nuestro archivo docker frontal y carpeta, porque sin Dr File, no es un servicio y en realidad quiero copiar base aquí, archivo doc porque no quiero escribir desde cero, lo que significa que solo llevamos el expediente médico que ya tenemos cuando puesto dentro conocido. Esto es realmente importante porque otro caso, no podemos instalar modelos de nodo dentro para nuestro frente y tenemos un directorio de trabajo aquí. Copiamos pegar nuestro piquete Jason, como se puede ver dentro de frente Y también hemos escogido un Jason con guión y así sucesivamente. Por lo que estamos runnin instalar NPM y nosotros Korpi viejos archivos. Por lo que ahora debería ser suficiente para construir nuestro front end. Como puedes ver ahora estamos construyendo frente y co abrir todos los archivos y con estilo en paquetes con nodo dentro de su contenedor. Como pueden ver, todos los paquetes que instalé, nuestras imágenes fueron construidas y ahora vemos el mensaje de que se inició con éxito primero Horrible. Es realmente agradable mirar dentro de docket ps para ver procesos. Como puedes ver, tenemos muchos procesos. Cuarta indicación FBI luego frontón nuestra DB y HKTB Así que todo parece funcionar Y ahora podemos abrir crear raked ab en host local 3000. Pero claro que hay cambios menores que queremos hacer. En primer lugar, como se puede ver, este es el desarrollo construido. Entonces básicamente aquí estamos en producción. Por lo que Docker componer Yam es para la producción. Está bien probarlo así pero básicamente más tarde queremos aquí no desarrollo servidor web sino simplemente construirlo para la producción y mantener eat s CSS estático y JavaScript Por ahora está funcionando, como puedes ver pero nuestros volúmenes no son ahí. Entonces básicamente no escribimos nada con respecto a los volúmenes, lo que significa que nuestros cambios en el código no cambiarán nada. Así que vamos a adherir volúmenes sólo por la simplicidad fuera de las pruebas. Entonces básicamente, de la misma manera que hicimos para nuestro desarrollo, voy a corporativo por ahora. Volúmenes aquí dentro de frente y parte solo por el bien fuera de una prueba rápida. Entonces como puedes ver aquí tenemos unas llagas en tarta. No lo necesitamos. Necesitamos frente y fuente. Por lo que ahora cuando cambiemos todo dentro de frente y llagas, lo actualizaremos en fuente de usuario Una fuente de pastel. Esto está bien. Solo reiniciemos nuestra docker componer la construcción. Y ahora cuando cambiamos algunos archivos dentro de frente y falter, se debe cambiar automáticamente. Como se puede ver, se vio obligado con éxito. Ahora saltamos a nuestros FG dentro de nuestro frente y y vamos justo aquí baja desde dentro Dr Just Save. Y ni siquiera recargué la página por mi cuenta. Pero puedes ver aquí que se actualizó con nuestra cadena que proporcionamos aquí, lo que significa ahora sin la compilación con la ayuda fuera de nuestro volumen que creamos solo con una sola línea podemos actualizar código al frente y y se está compilando con éxito, lo que significa nuestro frente y ya está listo, escribió Toby. Y si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 16. Trato de frontil en la producción: en video anterior creamos nuestro frente y servicio y está funcionando. Pero lo hicimos realmente crudo porque aquí está nuestra producción con fuga y como se puede ver, donde escribir cosas que están relacionadas con el desarrollo. Entonces básicamente, solo para recordarte este archivo es solo para producción. Si queremos anular algunas propiedades para el desarrollo, anulamos en nuestro jahmal adicional con desarrollo DOT. Entonces básicamente aquí ahora en desarrollo, sólo tenemos algunos de derechos para resguardar a nuestro it guy. Por lo que necesitamos aquí para agregar también cosas sobre front end y tal vez sobre nosotros. Pero primero horrible. Vi una propiedad que falta. Entonces como puedes ver aquí en FBI, tenemos depende de un p d d ser amigo Ahora, no escribimos esto aquí así que vamos a basarlo ahora. Debería serlo. Depende de y aquí debería ser nuestro para ser. Te puedes preguntar qué pasará si vamos a sacar de aquí? Depende de. Y por supuesto, la respuesta es que Docker componer no sabe qué orden necesitamos en los servicios. Por lo que docker componer solo iniciará un servicio como es de arriba a abajo. Y esto es todo Básicamente, en el caso con depende de Docker componer entiende. De acuerdo, nuestro servicio depende de nuestro db Lo que significa primero que tenemos que empezar a ser. Y si no va a hacer esto, vamos a obtener errores cuando empecemos Doctor compuesto porque la base de datos de autenticación no está ahí pero estamos tratando de conectarnos a ella. Entonces por eso necesitamos aquí. Depende de off para ser Ahora volvamos a nuestro frente. Y así aquí todo como waas tenemos aquí es al abierto y tt tú y esto necesitamos para este observador interactivo de nuestra app crear reaccionar volúmenes también eran necesarios sólo en desarrollo porque queremos cambiar archivos Onley en desarrollo. Entonces la pregunta es, si este archivo Israel respecto a la producción no escribimos las cosas correctamente y esto es seguro Comer. El interrogante es qué pasará si saltamos a nuestro frente y carpeta y construimos Ron y PM Ron . Este es el comando que está diseñado por crear en rack up y como puedes ver aquí obtenemos un mensaje. Por lo que crear una construcción de producción optimizada compilada con éxito. Por lo que compilamos nuestro front end y escuchamos de archivos que obtenemos es un resultado. Y aquí algunos mensajes como Toby, la carpeta de compilación está lista para ser implementada y puede servirla como un servidor estático. Y exactamente esto lo queremos hacer Queremos servir a nuestro servidor como estético. ¿ Qué significa? Fuera de curso. No queremos mantra caliente Señor en producción si revisamos aquí dentro de nuestro frente y construimos Así que aquí están todas las cosas que están relacionadas con la producción. Entonces básicamente aquí, como puedes ver en su lugar IQ con KFC evaluar NGS y básicamente aquí nuestras acciones principales está con empaquetadas con todos los paquetes que necesitamos, lo que significa que no necesitamos más ofertas, fuente o lo que pueda eliminar todos los archivos excepto fuera de la carpeta construida porque sólo se necesita esta carpeta para la producción. Entonces básicamente queremos iniciar en nuestra producción nuestro servidor, el cual servirá archivos estáticos. Y aquí hay un buen ejemplo de cómo se puede servir e iniciar servidor estático para que podamos instalar paquete que se llama servir dentro de PM, como siempre, y podemos construir entonces tan auto menos como construido Edificios carpeta donde sirviendo todo sería, que está en la carpeta. Entonces básicamente aquí en build, tenemos índice html se magnifica. Y aquí tenemos algunas dependencias para nuestra estética para Shia dice JavaScript y así sucesivamente. Entonces esto es exactamente lo que queremos hacer. Entonces básicamente, para probarlo en nuestra propia máquina, podemos escribir en pm install global y entonces aquí tienes razón y servir. Y esto instalará el paquete de servir y su máquina. Y entonces puedes empezar con este comando servir menos como construir y luego se iniciará. Como se puede ver en el Puerto 5000. Si queremos escupir C cinco tablero, podemos montar menos l y entonces el puerto es se puede ver también funciona. Y ahora en el anfitrión local 3001 estamos manejando nuestro magnificado. Se puede ver en llagas. Se magnifica html donde tenemos nuestro CSS unificado y JavaScript. Entonces exactamente esto lo queremos crear dentro de nuestro doctor componer Así que básicamente, vamos a revisar. ¿ Qué necesitamos primero? Horrible. Quiero saltar dentro de frente y carpeta y buscar en el archivo docker. ¿ Qué necesitamos hacer aquí? Básicamente queremos primer dedo del pie, construir nuestras fuentes y podemos hacerlo por iraní en PM John Build. Esto es exactamente lo que hicimos aquí. Como usted vio. En primer lugar, somos viejos en PM Ron build y luego consideran esta carpeta de compilación y se puede decir OK, pero ¿por qué? Estamos justo aquí. Estamos usando el archivo Docker para la producción y para el desarrollo. Y tienes toda la razón. Si no quieres hacer esto construido en desarrollo porque en realidad no necesitas puedes crear dos archivos médicos diferentes uno para producción, uno para desarrollo. Por el bien de la simplicidad, me voy a pegar el archivo dewandaka y en realidad, sí, Este comando no es necesario en desarrollo, pero no tomará tanto tiempo. Y no estamos construyendo son imágenes que muchas veces así que esto está bien. El siguiente que tenemos que hacer es instalar dentro del cabello oscuro este paquete de servir. Entonces básicamente, después de esto, podemos corregir, Ron, en pm servicio global y no servidor sino servir. Y esto instalará este paquete después de construir la imagen por lo que estará disponible en su interior . Ahora necesitamos saltar torre Docker componer en cambio nuestro comando. Entonces por ahora es NPM Ron Start. Y esto no es lo que queremos empezar. Nosotros queremos ahora mismo. Sirve como lo hicimos aquí. Te acuerdas Servir menos tiene en realidad podemos copiar pegarlo por lo que se debe servir menos s Construir edificios una carpeta. Y aquí está el puerto 3000 básicamente exactamente el mismo puerto como estaba aquí. Entonces comentaré todo lo que no se necesita para la producción. Ahora escribamos Docker, compongamos , construyamos y comprobemos si está funcionando. Estoy consiguiendo aquí un estrecho ese frente de servicio y cayó para construir y PM menos G servir retorno cero frío. Obviamente acabo de cometer un error, ya sabes, un expediente médico. Olvidé escribir y pm instalar. Entonces este no es un mando. Por eso me estoy poniendo un estrecho Como te puedes ver esta vez no tengo ningún error. Ahora vamos a arrastrarnos hasta la cima. En algún momento, deberíamos ver algo que está relacionado con servir. Entonces como puedes ver aquí lo construimos con éxito todo. Y ahora en algún lugar se debe iniciar servir. Entonces aquí hay un pastel y así sucesivamente. Y aquí debe de estar al frente y es. A ver no puedo ver nada que esté relacionado con el frente. Y pero hay un comando especial para ver los troncos fuera del contenedor. Por lo que sabemos el nombre del contenedor it Israel World Docker Front y voy a copiar. Y ahora podemos montar troncos de DACA. Y entonces el nombre es Puedes ver aquí obtenemos una info excepto en conexiones y en zapato TPS local host 3000. Entonces básicamente, esto son todos los registros que obtenemos de nuestro frente del mundo real y pero parece que está funcionando. Vamos a recargar la página. Y como pueden ver aquí, estamos recibiendo nuestra página. Ahora vamos a campeón del dedo del pie las llagas y como puedes ver, se magnifica. Entonces es exactamente lo que preparamos. Ahora vamos a comprobar si nuestro frente y aún funciona en desarrollo. Entonces para estos, quiero copiar todo lo que comentaron a nuestro fuego desarrollado enfermo. Entonces aquí está el desarrollo, y aquí queremos crear servicio frente y final de un paseo dentro de varias propiedades. Entonces así es como se ve aquí es espacio vacío solo para leer. Y aquí, primer lugar, queremos otro mando. Por lo que aquí el mando será en PM Ron, Muerte. Como recuerdan, Este es nuestro servidor de la muerte. Eso espero. O tal vez me atraen. Beckett. Jason, podemos ver que nuestro mando es empezar no sordo. Por lo que los comandos sordos que hicimos en nuestros proyectos de IA. Pero esto es crear aplicación destrozada. Y aquí está. Inicio. Entonces estoy saltando de nuevo para desarrollarme y aquí está en PM rants cansados. Esto iniciará un servidor de muerte y aquí tenemos nuestros volúmenes. Esta parte es realmente importante porque queremos cambiar los archivos sobre la marcha. Y estas cosas son importantes para nuestra consola. Ahora reiniciemos una vez más nuestro acoplador componer y aquí necesitamos básicamente, quiero iniciarlo no para producción sino para desarrollo. Por lo que debe ser menos Tener docker componer jahmal menos siete Docker componer desarrollo Jahmal arriba menos mentes construidas en Dhere. Estamos consiguiendo un estrecho porque estoy al frente y carpeta y no en carpeta correcta. Entonces empecemos de nuevo ahora está funcionando y vamos a comprobar si está funcionando con actualización al frente y como pueden ver aquí, estoy metiendo en sus registros que nuestro frente y servicio. Se inició y ya se puede ver que esta parte es de crear aplicación naufragada y esto no es producción. Construye uno con mucho la página. Ahora lo es, ojalá su parte de desarrollo. Así que vamos a comprobar Si es así, vamos a saltar al frente y fuente y objetos y aquí mismo Hola, soy desarrollo, como se puede ver aquí, mi página waas automático poco loado y estoy consiguiendo aquí el mensaje Así que básicamente esto es exactamente una idea. Entonces aquí tenemos razón en todo, Lo que es posible y a la derecha en el desarrollo Yama fueron anuladas en cosas que queremos hacer de manera diferente en desarrollo, esto es mucho más fácil que dedo del pie. Sólo un apoyo. Dos archivos diferentes los cuales no están completamente relacionados. Por lo que estamos tratando de fusionarlos lo más fácil posible. Como se puede ver nuestro frente y este exitoso Irán y en producción. Y si tiene algún comentario o pregunta, siéntase libre de preguntarles y les responderé con seguridad 17. Docker exec: en este medio 'll. Yo quiero hablar de magia al menos espero que entiendas que no hay magia Insigne doctor y te puedo mostrar algunas cosas las cuales te mostrarán que no hay ningún conductor mayor por completo. Entonces básicamente aquí. Como puede ver, mi doctor compuso a Israel en de la lección anterior y en consulados. Anteriormente podemos conducir registros Docker, por ejemplo, o daki ps. Por lo que Doc Ups está mostrando nuestros contenedores y registros DACA. Y digamos con el nombre off rial worldy chi, podemos ver qué tenemos en nuestras cerraduras? Entonces es que concede mucho más fácil entender los registros aquí, luego verlos si los desplazamos en Dhaka compuesto como puedes ver ahora, nuestra app crear naufragada eliminada y bloqueada completamente la pantalla para que un no se pueda desplazar hacia atrás. Por lo que limpió todos los bloqueos de la pantalla. Entonces es por eso que la lager del propio Doc es mucho mejor festival el cual ella piensa en relacionado con uno sarees. Y es más fácil a la bolsa y se puede ver aquí, por ejemplo, comenzó un pastel en el puerto 3001 y así sucesivamente. Ahora quiero mostrarles un comando más el cual se llama DACA exacta. Y qué hace así DACA exacta y luego menos yo d y luego el nombre fuera del contenedor. Entonces es cuando queremos ejecutar algún comando dentro de nuestro contenedor, Lo que significa que cuando simplemente hacemos algo así como aire para pleno en nuestra máquina este comando está sucediendo en nuestra máquina. Pero claro, a veces queremos hacer algunos comandos dentro de contenedores Y el comando más popular que estoy haciendo siempre es el comando de ir dentro de contenedor en una shell porque básicamente no quieres solo escribir una vez Foo Foo y el peaje normalmente quieren saltar dentro del contenedor, revisar algunos archivos, revisar algunos registros, cambiar algo y así sucesivamente. Así que básicamente dedo del pie van dentro del contenedor shell off Necesitas escribir DACA exacta, luego menos 80 Y aquí estará el nombre de nuestro contenedor. Tomé, por ejemplo, un pastel y ahora como juez que yo y concha y estamos golpeando aquí y aquí y ya estoy dentro de contenedor. Entonces aquí podemos escribir, por ejemplo ppd y se puede ver la hora en la app de fuente de usuario ¿Y se puede preguntar por qué? Porque aquí dentro del FBI dentro de nuestro archivo docker susurró ificado nuestro directorio de trabajo. Y aquí cuando montamos, Ay, se puede ver que tenemos archivos que están relacionados con nuestro proyecto. Básicamente, todos estos archivos, excepto las llagas son corp it adentro con esta copia de comando y solo la carpeta fuente. Está trabajando, como se puede ver, no aquí. Pero si lo construimos como para el desarrollo, entonces esta carpeta estará dentro de los volúmenes. Pero básicamente, aún así, puedes ir en fuente y ver qué hay ahí. Revise el contenido del archivo, por ejemplo, y así sucesivamente. Entonces la idea es que al menos puedas saltar así dentro del contenedor y hacer algunas cosas primero. Terribles. Se puede entender que contenedor no tiene magia, por lo que se puede saltar a slash y ver que esto es simplemente completamente estándar. Lynn parece nada un alto, nuevo y abajo. Nos vamos dentro de nuestro proyecto. Y como usted vio aquí dentro de un pastel, se waas user source app Y esta es la carpeta que se creó fuente EP. Y en esta carpeta nuestro proyecto está viviendo y básicamente aquí. Podemos hacer lo que queramos, tal vez empezar algo y así sucesivamente. Pero este es un enfoque realmente agradable cuando necesitas comprobar qué archivos sí tienen hacer algunos comandos dentro del contenedor como, por ejemplo, por ejemplo, sentir la base de datos de citas y así sucesivamente. Así que básicamente dedo del pie salgan, solo escribes salida Y una vez más, Togo en Dhaka exacto menos I t que el nombre del contenedor y el comando fuera de curso. Puedes unirte justo aquí por comida, pero no te dará mucho. Sí, optó por completo y esto es en realidad es la salida de su contenedor. Pero normalmente quieres saltar dentro y hacer algo. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 18. Configuración de nginx: en videos anteriores con Configuración Exitosa Nuestros Servicios para Frente y A P I y autenticación. Ahora es el momento de hablar de cómo vamos a exceder los servicios a través del navegador. ¿ Y por qué necesitamos ingenieros aquí? Espero que ya tengas algún conocimiento con en jinx, y si no, entonces solo puedes abrir en genes, por ejemplo, Wikipedia y comprobar de qué se trata. Entonces, básicamente, se trata de código abierto, problema de alto rendimiento para ser servidor y proxy inverso y bla, bla, bla y raw millones off características. Ahí básicamente para nosotros en jinxes importantes porque queremos de alguna manera administrar todos nuestros servicios y lo que me refiero con eso. Por ejemplo, aquí tenemos anfitrión local 3000 Así que supongamos que estamos en producción aquí. Entonces mi máquina ahora es un servidor de producción, lo que significa, sí, esto está bien. Estamos exponiendo puerto 3000, pero por ahora, esto será entonces algunos AP como foto AP A. Tener y luego colon y 3000 fuera de curso. Normalmente, la gente no intentará algo como thes en el navegador. Para acceder a tu página web, escribirán algún nombre como riel world docker dot com y cardos. Cómo funciona Internet. Tienes un dominio como el mundo real. Eso podría venir, por ejemplo. Y este dominio está registrado en algún registro. Lo que significa que ahí asignaste que sus enlaces entre este dominio y tu dirección AP , que significa básicamente tu registro sabe en qué AP Debe transferir la solicitud cuando se activa este dominio, que significa que estamos justo en thes pero básicamente dentro está yendo dedo del pie. Mi p como esto es donde mi servicio Ranaan un terror i p Y aquí hay un colon y 80 y básicamente siempre es una T. Así es como funciona Internet. Entonces por defecto, el puerto predeterminado es 80 y no lo vemos. Entonces por eso estamos justo en lo principal y la petición va aquí. Entonces esta es nuestra A p y luego 18. Y la pregunta es cómo podemos gestionar todos estos servicios si solo vamos a nuestro 21 Port 80 y hasta no sabemos. ¿ Qué debemos hacer con esta solicitud? Entonces, básicamente, aquí es donde en jinx entran en juego. Por lo que tenemos un dominio y en jinxes, algo así como proxy entre todos los dominios y todas las solicitudes que son comunes en nuestra dirección A P en nuestro servidor y luego en jinx check. De acuerdo, esta tesis, este dominio o este es este proyecto y luego proxies esta solicitud al proyecto específico,lo proyecto específico, que significa en jinx, es algo así como una puerta de enlace entre todas las solicitudes por todo el mundo y nuestro servidor vendido. Es por ello que queremos hacer todo a través y Gen x, lo que significa, por ejemplo, que tenemos algún dominio. Asumamos riel world docker dot com o, por ejemplo, para local. Usaremos algo como DOT local. Y luego esta solicitud va a In jinx, vamos a crear en jinx como servicio adicional y luego en jinx, conflicto dentro se configura de esa manera. Que sepa en el servicio de agua se debe dar una solicitud. Por ejemplo, si es algo así como slash full, entonces debe activarse al frente. Y pero si es slash e p I, por ejemplo, slash full, entonces sabemos que esto está relacionado con nuestro EP A, lo que significa viejas solicitudes West, que está partiendo de slash AP. Voy a entrar en nuestro servicio del FBI, y si están empezando con lechuzas de corte, van a nuestro servicio. Todas las demás solicitudes van directamente del frente del pie. Y así esta es la idea. Ahora pongamos en práctica nuestro en jinx, así verás cómo está funcionando. Por lo que queremos tener en su servicio aquí en la parte inferior. Te estoy creando servicio. Vamos a ponerle un nombre, Jenks. Y la imagen aquí estará en el establo Jenks. Pino infernal. Entonces básicamente, como puedes ver aquí, no creé ninguna carpeta. Adicionalmente, Amigo Jinx, lo crearemos más adelante. Pero por ahora, no necesitamos dedo del pie. Ah, aquí Sólo tenemos una imagen lo que significa ahora Docker componer sabe que necesitamos registrar el servicio y no nos Lord esta imagen. Y solo para recordarte pinará aquí significa que esta será la pequeña imagen. Esto es lo que queremos exactamente. Y aquí está nuestro nombre de contenedor. Será cabello oscuro del mundo real y aquí en jinx y ya casi estamos listos. Queremos aquí dedo del pie mapa nuestros puertos como con él anteriormente. Y queremos aquí mapear 80 toe 80 lo que significa 80 oriente. El puerto donde en jinxes se está ejecutando dentro de nuestro servicio y 80 es el puerto en nuestra máquina donde se expondrá el en jinx del servicio. Lo importante es que creo que tal vez en tu máquina algo ya está usando el Puerto 80 . Por lo que te recomiendo a la lista. Consulta si tienes en jinx en tu máquina funcionando porque normalmente en Jinx toma este puerto . Y si lo es, entonces necesitas solo detenerlo porque va a entrar en conflicto con nuestro in jinx del servicio. Ahora queremos crear configuración para nuestro en jinx. Entonces para esto, crearé aquí en carpeta Jenks para lesionar a los sarees. Y aquí tendremos en Jenks Maíz perro prod. Y me puedes preguntar ¿por qué prod? Porque después crearemos un conflicto más para nuestro desarrollo. Entonces vamos a revisar. ¿ Qué necesitamos aquí? En primer lugar, todo, necesitamos una sección de servicio y aquí escucharemos el 80. Entonces este es el pensamiento estándar. Y aquí necesitamos un nombre de servidor. Básicamente para nosotros no importa. Pero vamos aquí mismo, por ejemplo, lo mismo que está escrito dentro de nuestro proyecto. Por lo que aquí tenemos rial world a camp. Entonces mientras que humano que nuestro anfitrión Israel mundo ahora aquí no debes olvidar el punto y coma y Básicamente, esto es Comer lo que necesitamos entonces tenemos secciones de ubicación. Entonces qué secciones de Asignación aquí en ubicación. Se puede especificar. ¿ Qué estás haciendo con solicitud específica, por ejemplo, podemos decir OK, tenemos aquí corte un pastel y luego caso de tesis. Estamos haciendo algo con gusto. Adiós. Por ahora quiero empezar con solo slash. Slash Significa que todas las solicitudes van al interior. Y aquí queremos escribir pars proxy en Dhere. Http. Front end y aquí. 3000. Esto es todo. Y ahora tenemos que hablar de ello. Entonces, ¿qué es el pase proxy? Al ser obvio por el nombre es proxy en su solicitud a este pensamiento. Y básicamente, como se puede ver aquí, se trata de un zapato TP frontal y luego 3000. Por lo que puedes adivinar Este es nuestro servicio. Este es este frente de servicio. Y esto es 3000 puerto. Lo que es realmente interesante es este tema tp front y básicamente fuera de curso fuera en nuestra máquina o en cuestión de Internet, frente tippy y no existe. Pero DACA y docker componen. Permítanos a través de la red construir tal su otra y usarlos y este es realmente el futuro asesino. Desde mi punto de vista fuera Docker componer porque por ahora podemos usar algunas cosas que existe en Lee dentro de nuestros contenedores y no fuera. Y nos estamos comunicando entre servicios a través de la red, y esto significa que todo está súper alcance desde el propio servidor. Ahora necesitamos usar este archivo y la pregunta es, qué tan fácil con los volúmenes. Por lo que aquí podemos escribir que necesitamos registrar volúmenes también en línea. Tan como Dash. Y aquí estamos aquí en jinx slash motores conflicto amplio. Y este archivo queremos poner dentro de este servicio en DTC en Jenks y aquí configuración dot de slash ingenious con. Entonces, básicamente, queremos anular este archivo en Jinx Khan con nuestra configuración desactivada de motores. Otra cosa que tenemos que hacer aquí es escribir depende porque, como se puede ver aquí con carretera dentro en ubicación jinx, ruta proxy y si esto aguanta no estará disponible, por ejemplo, está abajo. Entonces se romperá. No queremos entrar a Drake, Así que aquí lo vamos a secar por delante, y lo que significa que tenemos que arrancar de frente y primero con el fin de arrancar nuestros motores por lo que esto debería ser suficiente para nosotros. Entonces empecemos con nuestro doctor componer. Y en primer lugar, queremos probar nuestra construcción de producción estándar. Entonces esto es arriba construir y construyámoslo ahora. Entonces aquí, mi docker componer se inicia. Pero como puedes ver, es difícil de ver. Escucha algo porque tenemos demasiadas cerraduras. Entonces es por eso que escribí Docket Blog y luego el nombre fuera de nuestro servicio en jinx como Doctor Mundo Real en Jennings y golpeé Enter. Y aquí ves los registros específicamente respecto a nuestro servicio es que puedes ver aquí tenemos un nombre de servidor de directiva desconocido para un error. Entonces no lo escribí correctamente aquí entre siete nombre y el nombre. No debemos poner una columna aquí, por lo que debe escribirse así. Reiniciémoslo de nuevo y comprobemos si está funcionando. Y una cosa más que me olvido de cambiar aquí, señor, Nombre debería estar ahí realmente anfitrión show. Por lo que debe ser no sólo el mundo real DACA, sino fuera de curso dot com Si saltamos ahora a nuestro navegador como puedes cereal eran doctor que calma fuera de curso. Este no es nuestro dominio y no lo compramos. Entonces, ¿cómo disputamos con este dominio? Nuestro servidor. Entonces básicamente aquí estaban diciendo el nombre del servidor y en nuestro archivo hosts UTC, podemos especificar nuestro nombre, por lo que será aprox en nuestro host local. Entonces básicamente, si no sabes qué pendejos, Este es archivo especial. Se puede leer al respecto en Wikipedia, por ejemplo, este es el nombre del host. Por lo que rodamos sus puertos y hosts en este caso es que se puede ver aquí se puede escribir Este es host local y a la derecha, el nombre que necesitamos. Entonces básicamente queremos que este nombre toe se resuelva en nuestro anfitrión local, lo que significa que simplemente podemos justo aquí la línea como esta fuera de curso resultó zapato TPM así que me lo podrían pegar. Y entonces este dominio que escribimos aquí no buscará en Internet este dominio donde está registrado. Pero antes que nada, estará tratando de resolverlo en la máquina local, que significa que simplemente lo hackeamos para que se resuelva en nuestra máquina local. Y esto es realmente bonito para el desarrollo localmente cuando quieres alguna prueba de dedos de dominio, por ejemplo, mundo real DACA dot lock Oh, puedes simplemente escribir en hosts este archivo y luego usar su dominio normalmente en y no local anfitrión. Y básicamente, como se puede ver, después de agregar esta línea al anfitrión local por arte de magia fueron saltar al mundo real DACA calma y estamos viendo nuestro frente y servicio. Entonces hablemos una vez más, cómo está funcionando en absoluto. Entonces, básicamente, cuando montamos esta línea dentro de nuestro host UTC, O tal vez si estás en Windows, entonces solo puedes google para hosts windows de archivos. Y si recuerdo correctamente, esta es carpeta insistente en Puedes revisar algún sistema de enlaces que los controladores. Tú lo hace ella y ahí está este archivo host. Entonces básicamente ahí, necesitas agregar esta línea que quieres resolver este dominio dentro de local, y luego este dominio se va fuera de curso al puerto 80. Pero no vemos que este sea el punto más importante. Y ahora escucha si cerraré anfitriones y abriré nuestra en Jennings. Entonces aquí estamos exponiendo. Es nuestro en jinx al puerto 80 lo que significa cuando estamos justo aquí nuestro dominio o el principal 80 . Entonces vamos dentro de esto en Jinx dentro de Dhaka, dentro de este servicio. Y luego vamos a nuestro archivo en jinx conflict. Y aquí estamos ahora. De acuerdo, este es nuestro nombre varios. Y cuando la ubicación es slash, necesitamos proxy pasarlo dedo del pie tema TP frontal y tres solvente. Y este es nuestro servicio, que se inicia. Y lo que es más importante es que ahora, aquí no necesitamos exponer el deporte. ¿ Por qué es eso? Porque necesitábamos este 'll para nuestro anfitrión, para nuestra máquina local. Lo que se ve aquí en configuración, esta no es máquina local. Se trata de una red oscurecida especial donde todos los servicios pueden comunicarse juntos, lo que significa que no necesitamos exponer ningún puerto. Dhaka tiene exceso de fora tales cosas. Es por ello que cuando acabamos de parar y lluvias dijeron que podría componer de nuevo, funcionará completamente como antes porque este es el proxy Pasto el servicio. No tiene nada que ver con nuestro anfitrión. Sí, claro. Podemos tener los deportes para exponerlo y usarlo afuera. Pero en realidad no tiene sentido. Entonces estamos aquí en producción. Entonces estamos probando molde de producción y este es nuestro dominio. Y como se puede ver nuestro frente y está funcionando y lo mismo vamos a hacer por local. Por lo que sólo escribimos otro dedo del dominio. Nuestros hosts archivo, por ejemplo, ese local y luego aquí. Tampoco necesitamos exponer ningún puerto. Pero claro, aquí tendremos otros comandos, pero saltará de pie el mismo frente y jarabe. Por lo que aquí reinicié, compuso mi médico. Y como se puede ver, funcionó como antes. Entonces básicamente, como puedes ver en este video con la torre superior en Jenks, que es bonito, no está dentro de nuestra máquina. Está dentro de Daca. Este es un servicio adicional, cual es simplemente vincularlo dedo del pie 80 puerto en nuestra máquina y luego dentro. Gestiona todos los servicios por su salud. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 19. Cómo Proxying de peticiones api: en medios anteriores. Configuramos nuestro servicio en jink para que ahora podamos renderizar nuestro frente y en el mundo real dot com dominio. En este video, quiero hablar de un ply y cómo queremos proceder con las solicitudes. Entonces, básicamente, ¿qué problema tenemos? Entonces supongamos que no proporcionamos pasteles públicos. Entonces simplemente creamos algún sitio web y no algún proyecto A donde la gente pueda acceder a nuestro pastel A desde fuera y usarlo, lo que significa que nuestro FBI es solo para fines internos. ¿ Qué enfoques podemos tomar para implementar E P I y qué es exactamente lo que queremos lograr? Entonces, básicamente, digamos que estamos justo al frente. Y así estamos aquí dentro de nuestra app crear naufragada y aquí con tener alguna función de app, por ejemplo, lo que sea. Y a partir de aquí, en algún momento, queremos conseguir algunos datos y estamos justo en, como, como, buscar o acceder o lo que sea biblioteca que prefieras buscar datos y aquí debería haber algún mural cual obtendrá los datos de nuestro FBI. Entonces aquí hay un mural de nuestro e chi y aquí, por ejemplo, por ejemplo, slash que es un poste de rebote. Entonces tenemos un poco de frío de vuelta donde obtenemos este post y aquí estamos haciendo algo con ellos como set State, por ejemplo. Y aquí hay posts. Básicamente, este es el primer enfoque que necesitamos. Por lo que desde nuestro frente y servicio, queremos comunicarnos vía http con nuestros marcapasos A. Y entonces necesitamos exactamente lo mismo. Por ejemplo, en nuestro servicio A pastel. Básicamente, nuestro ocho por servicio no necesita hacer nada con frontón, lo que significa que nuestra EPA está justo ahí. Se comunica con la base de datos, pero en el punto en que queremos comprobar los datos actuales del usuario, necesitamos obtener datos del servicio de autenticación. Entonces aquí estoy dentro de nuestro servicio del FBI. Y digamos que al inicializar fuera de nuestro servicio, queremos buscar algo de nuestra respuesta de la autenticación, lo que significa aquí algo de euro de nuestra casa. Se necesita apoyo al FBI. También fuera de curso. Aquí no se dice estado, pero estamos haciendo algo como que estamos volviendo. Por ejemplo, usuario actual y puedes preguntar por qué estamos llegando aquí. Usuario actual, Digamos que podemos exceso,Por ejemplo, Por ejemplo, algunos posaron sobre Lee cuando somos el creador fuera de esta publicación, lo que significa que necesitamos comprobar si el usuario actual cuando estamos encerrados con el usuario actual es lo mismo, como el autor fuera de este post. Entonces esto significa que nuestra sindicación el FBI necesita dar algo de exceso para nuestro imperio. Y también había ocurrido que nuestro frente y queremos buscar al usuario actual directamente de autenticación E pay, lo que significa que es como frontal y no necesita ser utilizado por nada más que él. Se necesita para ser usado por frente y y nuestra autenticación se necesita para ser utilizado por front y y e chi. Entonces esto es exactamente lo que queremos lograr. Y en este video, vamos a tratar de hacer algo como esto primero, vamos a crear nuestra prueba un pastel donde podamos pescar algunos datos. Empecemos con nuestro servicio de autenticación. Entonces aquí tenemos índice y creamos aquí nuestra ruta con prueba de slash donde enviamos algunos textos solo para saber que nuestro servicio está funcionando correctamente. Ahora quiero copiar esto y aquí queremos slash usuario actual. Entonces básicamente lo mantendré simple. No voy a implementar toda la lógica sobre el usuario actual talk ins de pollo y base de datos. Simplemente digo que está bien, tengo la solicitud de usuario actual y puede ser, por ejemplo, válida o inválida. Entonces básicamente, simplemente podemos decir aquí, arrestar a Jason y regresamos aquí un objeto fuera del usuario actual. Digamos que tiene un poco de un d 123 y tenemos algún correo electrónico, y estará lleno en gmail dot com. Entonces básicamente, acabamos de basar datos fuera del usuario actual que acabamos de enviar su. Ahora vamos a comprobar si está funcionando. Entonces para estos, básicamente, debería funcionar fuera de la caja si comenzamos el desarrollo, Sarah o podemos hacerlo, por ejemplo, con build. Pero entonces queremos esperar hasta que la construcción completa esté lista. Entonces vamos a revisar en el navegador. Aquí tenemos caballo local 3002 slash usuario actual y estamos recuperando nuestra solicitud de imperio . Pero por supuesto, esto no es lo que necesitamos. ¿ Qué necesitamos? Entonces tenemos un mundo riel de dominio, o eso podría salir de un local? Tendremos punto loco, pero en realidad no importa. El punto es que queremos en exceso este tu l, por ejemplo, desde vamos a Start, por ejemplo, de con servicio EPA. Entonces básicamente estamos aquí ¿Y alguna vez quiso hacer una petición para esto? Tu l y por supuesto, anfitrión local 3002 no es correcto, porque aquí no sabemos nada de anfitrión local Una toalla aquí es que estamos dentro de Dhaka , lo que significa que necesitamos comunicarnos con otros servicios a través de la Red de médicos. Y aquí lo podemos hacer de la misma manera. Al igual que con do en Docker componer cuando montamos aquí, este manga tu l Como puedes ver aquí, usamos el nombre fuera de nuestro servicio de la misma manera que lo podemos hacer cuando buscamos datos de un servicio a otro. Pero para hacerlo flexible, quiero configurar todo a través de variables de entorno. Entonces aquí estoy en un pastel y quiero nueva variable de entorno, que se llamará, por ejemplo, búhos aplican Ural, y lo tomamos de ambiente de proceso, búhos, FBI, su l, lo que significa que nuestro servicio aún no sabe nada de configuraciones. Y esto es por supuesto, bueno. Entonces vamos a crear esta propiedad ahora dentro de nuestra composición docker. Entonces aquí estoy en el mal servicio, y aquí tenemos variables de entorno y podemos decir aquí que horas a pagar tu l igual y escuchar lo que queremos. Entonces aquí será http que el nuestro. Y el puerto y nuestro deporte es 3002. Y puedes pensar que esto está relacionado con los deportes e, pero no lo es. Y quitaremos los deportes de aquí porque estamos hablando de tableros fuera de la red Dhaka , lo que significa que este es el puerto donde la aplicación se está ejecutando dentro de Dhaka y el deporte es 3002. Lo que significa que es por eso que aquí también es 3002. Y esto se puede ver que estamos usando aquí, no anfitrión local de algo. Pero este especial anfitriones de Dhaka y este es el nombre del servicio fuera del servicio de autenticación. Y en realidad, queremos aquí aus ap a Ural. Por lo que no tiene sentido aquí sólo escribir base. Ural, queremos aquí slash ap I Y entonces aquí vamos a saltar de nuevo en nuestro FBI y en la fuente. Y aquí cuando comenzó el servicio, quiero Cónsul, registrar a nuestros búhos un pastel, Ural, que será casa un pastel Hural. Pero ahora necesitamos dedo del pie importado aquí en la parte superior. Por lo que es Kama horas un pastel, Ural. Entonces como puedes ver ahora viene de variables de entorno y ahora podemos usarlo aquí. Entonces reiniciemos nuestro docker componer y veamos si funciona, como puedes ver aquí ahora tenemos en el mundo real bien, por una línea. Los tres pares tu URL es http aus 3002 y un tiempo lo que significa que esta variable de entorno está ahí y ahora podemos buscar datos. Y para ello necesitamos instalar paquete adicional dentro de nuestro FBI. A esto se le llama exceso. Entonces, básicamente, si no sabes lo que está haciendo este paquete, es realmente bonito Package for front y and beckoned, lo que significa para un JavaScript inclinado y conocido GS donde simplemente puedes buscar datos en todas partes. Entonces solo lo instalas y luego escribes exhales get, luego algo de euro, y luego obtienes una respuesta. Y dentro de respuesta tienes datos de puntos. Se puede hacer captura y sonido. Entonces esta es realmente bonita biblioteca. Lo estoy usando en todas partes. Por lo que alguna vez quiso instalarlo con NPM, instalar el exceso dentro de nuestra carpeta del FBI. Ahora lo instalamos. Y aquí vamos a revisar cómo podemos hacer una petición de nuestro simio I a nuestro FBI Sur Así que para estos voy a crear en tu fuera ab cat. Y será, por ejemplo, por ejemplo, prueba con el usuario actual. Lo que significa que la idea es que esto es algo un pastel y punto donde queremos obtener datos adicionalmente fuera. Usuario actual. Entonces esto es solo con fines de prueba, por supuesto. Pero mostrará cómo podemos excedernos de nuestro servicio con autenticación dentro de nuestro imperio. Entonces básicamente aquí hemos solicitado respuesta y queremos hacer una solicitud de fetch. Entonces para esto, necesitamos aquí importar exceso y esto se requiere exceso. Y ahora podemos hacer nuestras peticiones de get. Entonces aquí estamos haciendo llegar el exceso y tenemos aquí exceso de horas del dedo del pie, un poder tu l. Y como recuerdas esto es tu l Así que aquí lo describimos. Se trata de un slash un pastel, lo que significa que si queremos excederse de nuestro usuario actual, necesitamos que el Ural contenga el pago por slash. Entonces vamos a saltar en índice de indicación sidles Así que aquí acabamos de crear slash usuario actual, pero debería ser slash ap I slash usuario actual y luego regresamos a nuestro usuario. Entonces esto es lo que queremos buscar aquí por lo que se solicitará con una slash un pastel. Y ahora lo podemos conseguir en los ochenta con parte actual Hughes. Um, Y como se puede ver en la recomendación aquí, llegamos entonces y atrapamos. Vamos justo entonces aquí y aquí vamos a obtener una respuesta. Entonces la respuesta es un objeto con muchas propiedades, pero para nosotros es interesante. Datos del dedo del pie respuesta Onley. Aquí es exactamente donde se manejan los datos de respuesta. Entonces aquí queremos rez. Jason. Por lo que queremos sólo mostrar algo en pantalla. Y digamos que estamos diciendo aquí que esto es algo relacionado con la prueba con el usuario actual . Entonces vamos a volver esto a verdadero como variable. Y queremos aquí mostrar datos de usuario actual usuario actual de nuestro y aquí, digamos respuesta no datos. Por lo que una vez más, construimos dentro de nuestro a pino tu sequía donde buscamos primero a nuestro usuario actual de nuestra ruta de autenticación fuera servicio de Indicación. Y luego acabamos de utilizar estos datos de respuesta para mostrarle algo al usuario cuando conseguimos que esta prueba era el uso actual. Um, así que se ve bien. Vamos a reiniciar nuestro docker componer y ver si está funcionando Cuando miran en el navegador Aquí está caballo local 3001 test era usuario actual que obtengo puedo conseguir cualquier cosa porque me olvido aquí para poner slash Así que intentemos una vez más. Ahora, como pueden ver, está funcionando según lo planeado Así que aquí estamos el acceso en nuestra otra indicación pero internamente se buscaron y usuario actual de nuestro servicio off hold indicación y devolverá algunos datos del usuario actual aquí, lo que significa que este es un enfoque realmente agradable fuera de trabajar entre servicios. Entonces, como pueden ver, no necesitamos hacer nada solo necesitamos en nuestro docker componer yah mo para especificar correctamente , por ejemplo, por ejemplo, un pastel Ural. Y luego solo construimos unas tartas entre servicios y podemos buscar datos entre ellos. Lo que significa, por ejemplo, podemos hacer como, 10 ojos AP más y debilitar el exceso de cada FBI internamente y esto es realmente seguro fuera la caja porque normalmente cuando solo creas varios proyectos y por ejemplo, los pones en uno. Señor, se está comunicando entre urales públicos como, por ejemplo. Digamos que aquí estás haciendo la solicitud internamente, pero también con la dirección P fuera de su servidor y aquí con una red DACA especial. Hablaremos de ello en la próxima conferencia. Pero básicamente la idea es que nada fuera pueda obtener datos desde aquí. Al igual que de esta autenticación. Porque no estamos exponiendo ningún puerto para fuera, lo que significa Onley, nuestros servicios portuarios internos pueden buscar datos de uno en otro. Entonces por eso me gusta este enfoque de composición docker porque es super seguro fuera de la caja. Como puedes ver en este video, conseguimos con éxito datos de otro servicio. Entonces así es como se hace realmente rápido y fácil. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 20. Red Docker: en este video. Yo quiero hablar de redes DACA, pero otoño festivo. Comprobemos cómo podemos usar a nuestro FBI dentro del resto. Indicación eBay. Entonces básicamente, tenemos exactamente el mismo enfoque, por lo que podemos copiar de un pastel. Este los tres pares, Ural y aquí dentro de nuestro servicio de búhos usan innumerables FBI, Ural. Y aquí no tenemos horas, pero tenemos un pastel y puertos 3001 como se definió aquí. Y sólo una vez más, ya no usamos el deporte, porque aquí el deporte estaba en Lee para saltar de pie a este anfitrión directamente en el navegador y para comprobarlo desde nuestra máquina local. Ahora, aquí dentro de nuestras horas fueron uneto poco comunes en los deportes la última vez solo para probar si todo está funcionando mayormente desde el navegador dentro de nuestra máquina local. Entonces básicamente, aquí tenemos tu l. Y ahora necesitamos saltar al revés e instalar acceso como lo hacíamos anteriormente para una pipa. Entonces básicamente, el frío será exactamente el mismo. Entonces vamos aquí dentro del chi y copiar pegar, por ejemplo, esta solicitud, básicamente primero de otoño en nuestro FBI, necesitamos crear algunos que solicites donde podamos obtener algunos datos para nuestra autenticación servicio. Básicamente, puede ser que, por ejemplo, con la solicitud actual del usuario necesitemos enviar algunos datos Adicionalmente de nuestro FBI, por ejemplo. Algunos no conozco cursos ni los artículos fuera del usuario y así sucesivamente. Entonces vamos a crear aquí. Una ab más get request, y aquí habrá una prueba un dato pi, y simplemente regresaremos aquí nuestros datos para nuestro a pino. Entonces descansa, Jason. Y aquí, digamos sabrosos datos de pastel. No lo sé. Cierto. Y esta será la solicitud que vamos a buscar dentro de nuestro servicio de autenticación. Entonces vayamos ahora a nuestro servicio de sindicación. Muy primero hay que copiar este ab GATT porque queremos crear lo mismo fuera dentro de los búhos. Entonces aquí en índice, como podemos ver, tenemos varios AB consigue ya para prueba por conseguir un usuario actual. Y aquí habrá uno más aquí será prueba con el usuario actual. Vamos a renombrarlo prueba con un dato de tarta. Y como pueden ver aquí tenemos todo el poder. Ural, no lo tenemos aquí. Pero aquí necesitamos uno. Eres un rebelde, y será un par. Tu l y lo tomamos de ambiente de proceso un pastel. Ural. Ahora vamos a importar esta propiedad aquí. Por lo que es un poder tu l y úsalo para buscar datos. Entonces es tu l. Y vamos a revisar una vez más de qué a by tenemos aquí. Por lo que waas slash y prueba con no con usuario actual lo pruebo yo los datos primero. Terrible. Me olvido de slash aquí una vez más. Y en segundo lugar, queremos perfecto sentarse aquí con el pastel porque estamos prefijados en nuestro exterior un pastel, Ural en ambiente wearables también con slash e p I Así que aquí está slash e pi slash probado por datos. Y aquí, como pueden ver estamos recibiendo este es nuestro servicio de autenticación. Estamos obteniendo datos de un jugador tu l y aquí está prueba un dato pi, y solo tenemos respuesta. Entonces vamos a nombrarlo prueba un dato pi. Cierto. Y aquí algunos datos de nuestra respuesta. Entonces básicamente, como se puede ver aquí, hemos probado los datos de parry. Entonces vamos a tener sólo una propiedad probar un dato de tarta, Pero vamos a correr fecha de respuesta pensamiento data dot testy p i data. Entonces básicamente respuesta datos del dedo del pie. Este es este objeto y acabamos de leer de sus probados por los datos y lo devuelven aquí. Ahora construyamos una vez más nuestro acoplador componer y comprobar si está funcionando. Entonces cuando salté al navegador, veo la era en la que el acceso no está definido. Aquí está host local 3000 herramientas. Entonces este es nuestro servidor de autenticación y esta es nuestra petición. Simplemente me olvido aquí el acceso de importación de dedo, por lo que el acceso es requerir exceso. Ahora tenemos que iniciarlo una vez más, y ojalá funcione. Como se puede ver. Ahora nos hacemos patrimoniales , datos cierto. Y esto cierto es básicamente una variable de nuestra petición adicional del dedo del pie de nuestro FBI. Entonces esta es nuestra autenticación. Obtener solicitud. Entonces el poder testy eran los datos. Aquí lo puedes ver, y estamos coqueteando con exceso. Algunos datos de nuestra EPA, Ural, y creamos este Ural de la EPA afuera en ambiente donde los rebeldes y luego regresarán aquí . Datos de respuesta probados por datos. Entonces, como pueden ver, simplemente podemos configurar todo para que nuestros servicios puedan funcionar entre ellos. Ahora, la pregunta de cómo funcionan las redes en Dhaka en absoluto, entonces Primero de todo, lo que puedo decir para ti es que cuando justo aquí algunos servicios docker componemos auto mágicamente crear una red para nosotros, lo que significa por defecto que no hay red allí y un acoplador componer alto. Es esto y simplemente obtenemos por defecto que todos nuestros servicios puedan comunicarse. Y piensan que esto es realmente bonito porque puedes entrar dentro de Dhaka. Entorno y Docker componen la mayoría en su mayoría porque solo funciona para ti y puedes aprender más adelante. Cómo así Ahora llega el momento y necesitamos aprender cómo funciona. Entonces básicamente, red es nuevo término respecto al entorno docker que aún no conocemos, por lo que conocemos las imágenes de contenedores. Ahora sabemos también volúmenes y nuevo término es red. ¿ Qué significa? Red? Creo que lo obtienes del nombre. Este es el doc y la red dentro de la cual nuestros servicios médicos pueden comunicarse y puedes configurar esta red de diferentes maneras y es realmente eficiente. Y esta es la bonita herramienta que realmente me gusta. Entonces básicamente, primero queremos saber cómo podemos comprobar qué redes tenemos. Entonces aquí estamos justo en Dhaka Network y estamos recibiendo buena ayuda de Dhaka. Entonces, Doctor, red y Comando aquí cómo podemos gestionar las redes para que podamos conectarnos para contenerla a la red y tú puedes conseguir el punto. Por lo que somos una red genial, más rápida y luego conectamos algunos servicios o contenedores puntera esta red también se puede desconectar, inspeccionar y ver lo menos. Entonces revisemos la lista. Como puedes ver aquí tenemos varias redes y en realidad no dice nada del nombre aquí dentro. Éste es bastante comprensible. Los otros no son tan básicamente riel mundo DACA default es una red que fue creada mágicamente para nosotros por docker componer. Y como pueden ver, conductor aquí es brecha y no escribimos nada con respecto a las redes. Pero todos nuestros servicios están en esta red y por eso podemos comunicarnos entre servicios porque están en la misma red. El blanco riesgo. Mucha documentación respecto a redes en Dhaka archivo compuesto y aquí para nosotros es interesante cómo podemos crear nuestra propia red y cómo podemos configurarlas. Entonces básicamente el tipo de red por defecto es puente y se puede comprobar aquí, por ejemplo puente y se puede ver ¿qué es? Casi todos mis proyectos que estoy haciendo con una sola red para todos mis contenedores y crearon comer a mano porque en este caso es más fácil entender de qué se trata y qué servicios hay en la red. También que eran conductor es por mí por defecto en momento de incumplimiento. Entonces aquí, en lugar del defecto del Doctor Mundial de Israel, podemos describir nuestra propia red. Entonces básicamente, aquí en la parte inferior, donde deseo tener volúmenes, podemos agregar una nueva sección y será redes. Y aquí en redes, podemos montar que tenemos red y vamos a prefijarlo con el mundo real Doctor porque va a quedar claro. Por lo que tenemos riel mundo oscurecido red y aquí podemos precisar que el conductor es puente. Esto es todo. Entonces básicamente es exactamente lo mismo. ¿ Qué hizo por nosotros por defecto Docker componer y se puede preguntar, Por qué necesitamos especificarlo nosotros mismos, en realidad con amaneció pero para el caso que entendemos cómo está funcionando y luego podemos simplemente decir qué servicios deben estar en esta red y lo que no debería. Podemos brindar ahora esta red para nuestros servicios. Ahora, la pregunta es cómo especificar qué hacen las redes. El chef, por ejemplo, en el servicio jinx. Para esto, tenemos redes de propiedad y en su interior acabamos de probar el nombre. En nuestro caso, será Riel World Docker Network. Y ahora vamos a sobrellevar estos y sumar el dedo cada uno de nuestros servicios porque básicamente no tenemos otras redes y no tiene sentido para nosotros crear varias redes. No obstante, en proyectos más complejos, podemos hacerlo. Pero realmente no lo necesitamos aquí. Entonces, como pueden ver, agregué redes con nuestra red que se crearon dedo del pie de todos nuestros servicios. Y ahora explícitamente Assane, ¿qué red tenemos aquí? Entonces esta es la red estándar, que es puente. Y ahora cuando lo iniciemos aquí. Por lo que acabamos de perder nuestra composición docker. Y como se puede ver, hay una línea creada red ferroviaria mundo o red de levas con puente conductor. Ahora, cuando escribimos a Doctor Network un menos aquí, puede ver el nombre y en realidad el nombre es bastante malo porque, como se puede ver, tenemos el nombre dos veces aquí es el nombre rial fuera de la red. Y aquí con el EP apagado perfecto, Podemos dejarlo así porque básicamente lo que vemos en archivo jahmal es sólo este nombre. Y para mí, es mucho más comprensible que la red de nombre justo o la red predeterminada. Y básicamente este nombre aquí realmente no vemos. Pero como se puede ver, así podemos especificar redes para nuestros servicios. Entonces aquí todo se inicia. ¿ Y cuándo fue el Señor nuestra solicitud o nuestro pastel? Todo está funcionando como antes. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 21. proxy de Frontend: En video anterior, platicamos de redes y realizamos solicitudes de nuestro servicio sur a nuestro servicio API. En este video, quiero hablar de frente y servicio y cómo podemos realizar solicitudes desde frente y servicio hasta nuestro A P I o nuestro servicio de casa. Podrás pensar que funcionará exactamente de la misma manera, como nuestro imperio o Sur. Y la respuesta es no. Y este es exactamente el problema que ven. Y hay un montón de preguntas respecto a este enfoque en Internet. Entonces, ¿cuál es el problema? La gente está pensando que cuando acababan de probar el código así. Entonces saltamos al frente y aquí en alguna parte, estamos justo en fetch, como hicimos, por ejemplo, dentro de nuestro FBI. Y ahí, justo aquí, algún tipo, tu casa de l o del FBI. Ural era exceso. Funcionará. Pero el punto es que no lo hará. La pregunta es ¿por qué? Porque antes solíamos montar nuestras aplicaciones de señas, estaba escrito con guión de cáliz también, seguro, pero estaba de vuelta y se conocía gs aquí, un pastel y sur en la espalda y aplicaciones. Todo es fácil, por lo que tienes tu back end dentro de los servicios. No tienes ninguna restricción fuera del navegador porque esto es solo a los servicios y ellos pueden comunicarse con fetch o con lo que quieras y tiró sin restricciones con front . Y tenemos una restricción porque estamos en el navegador y en segundo lugar, Así que cuando estamos hablando, por ejemplo, Israel mundo como una calma. Este es nuestro anfitrión. Entonces esta es la máquina fuera del usuario. Por lo que esto no está relacionado en ningún caso, nuestro docker componer o DACA, solo va al puerto 80 si es el servicio. Si estamos hablando de cliente, acaba de llegar a este año l y para él nuestra página web está funcionando. Entonces aquí está la parte complicada. Entonces aquí, en el navegador, podemos ver en llagas nuestro javascript que se construyó aquí jazz principal. Lo que significa que este es este javascript que acabo de abrir. Y aquí JavaScript en el navegador no sabe nada con respecto en Dhaka respecto a una composición docker o nuestra red de médicos, que significa todo lo que este javascript Nell's es solo nuestro anfitrión. Entonces lo único que este código puede hacer es hacer fetch to algun pastel público en Internet o para hacer solicitud a este host esto es todo. Ahora la pregunta cómo vamos a construir nuestro un pastel para que funcione. Básicamente, como ya dije, primer acercamiento está justo aquí, como escribí fetch para escribir a su público un pastel. Entonces básicamente, estamos exponiendo nuestro pastel A así y aquí habrá solo alguna dirección AP, por ejemplo. Y entonces estamos justo aquí. Está bien, estaban buscando. Y aquí hay alguna dirección e p y luego algún puerto como, por ejemplo, 3001. Y aquí la solicitud de un pastel y encuestas, por ejemplo. Funcionará, pero estamos en el navegador y hermano tiene sus limitaciones. Por ejemplo, no podemos hacer solicitudes solo a cualquier sitio web fuera de caja. Y básicamente, las limitaciones son que podemos hacer las solicitudes sin problemas en Lee en el mismo dominio o sub dominio, lo que significa que no podemos de estos dominios simplemente obtener solicitudes y obtener datos del IPC I dirección porque no son lo mismo. Por lo que tenemos aquí a través de las políticas de origen. Se puede escribir curso dentro del navegador, y aquí comprobar qué es el medio de solicitud de origen cruzado y cómo funciona en su totalidad. Pero básicamente, si lo diré asegurado. Esto es solo cosita súper problemática, y queremos evitar usar curso en cualquier caso, porque básicamente, porque básicamente, puedes configurar tu servicio como si fueras una pastelera, que permitirás algunas solicitudes de específicas servicios o anfitriones porque simplemente no queremos hacerlo completamente público. Pero esto es rayado y requiere tiempo, y obtendrás mucha caja. Lo vi en muchos proyectos, y no estaba relacionado con un peaje oscuro. Pero estoy tratando de evitar rumbo. Si es posible, entonces funcionará sobre todo en todos los navegadores. El interrogante es, ¿qué alternativas tenemos y los años alternativos N jinx. Entonces básicamente, aquí queremos saltar en nuestro navegador. Entonces cuando vamos a este año, L en Jink debe entender que queremos mostrar frente y servicio. Y luego cuando aquí mismo, una pose de tarta en el gimnasio debería entender que queremos sacar nuestros puestos de un pastel como lo hicimos aquí. Pero no usaremos host local y puerto expuesto. Siempre pasará en jinx, que significa que esto siempre es Puerto 80 lo que significa que es manejado por en Jinx Light Road aquí en Dhaka compels. Entonces aquí estamos teniendo a Jinx, y hemos expuesto 80 puerto. Entonces básicamente, esta máquina, este es nuestro servidor. Queremos manejarlo así. Ahora, dentro de nuestro proyecto aquí, en app fuente, podemos usar fetch. Pero en este caso, no para algún otro host, sino para el mismo host donde tenemos nuestra aplicación, como debería Imperial world. ¿ O podría venir, por ejemplo, o para el desarrollo que publica el FBI local Y funcionará sin ningún problema fuera de la caja sólo porque este es el mismo anfitrión? Y este es el enfoque que me gusta y que hago en todos mis proyectos. Entonces la pregunta es, ¿qué debemos hacer para configurar en jinx para el redireccionamiento correcto. Entonces básicamente, queremos saltar a nuestra configuración de motores aquí. Esta es la configuración de producción, y queremos confundirles asignaciones. Por lo que voy a sólo ubicación basada en cookies aquí y todas las solicitudes del FBI que hace en con slash FBI . Queremos primero horrible dedo del pie proxy del pie nuestro FBI con Port 3001 y luego queremos reescribirlos. Básicamente, si solo escribes así, entonces tu solicitud un post de tarta solo vendrá un post como slash dentro de nuestra solicitud dentro nuestro servicio. Y queremos tenerlo sin ella. Yo así basicamente me gusta aquí en nuestra paga, por ejemplo, las llagas eran viejas, todas las peticiones con perfecta respuesta slash. No lo hace. Se puede por supuesto, hacerlo. Pero para mí, es mirarlo poco verbales y básicamente para este servicio específico. Cuando lo estamos viendo en, aislar, no tiene sentido tráficos todo tu también fue un pastel. Entonces es por eso que quiero evitar esto. Perfecto. Entonces aquí solo estoy escribiendo como slash probado por los datos y luego en el nivel off en jinx, estamos justo en el Ural. El interrogante es cómo podemos proporcionar un Ural. Por lo que se ve así. Tenemos una expresión específica, específica a la derecha y luego irregular. Lo escribiré ahora y luego describiré qué hace si no sabes cómo funcionan las expresiones regulares . Entonces básicamente se veía así, y dividir significa que aquí registramos nuestra expresión regular. Y esta estrella símbolo significa el inicio de nuestro Ural, que significa aquí, levanta nuestro l y Slash ap. Debería estar al principio, lo que significa que esta construcción significa que esto es slash un pastel. Y ahora aquí tenemos esta ronda romper su y punto y estrella. Esto significa que necesitamos a este grupo, que significa que lo que en este grupo es este es el resultado, lo que significa que no nos importa un pastel y esto va a entrar en resultado. Y aquí tenemos este dólar un dedo guardar comer propiedad del dedo del pie. Básicamente, no debes entenderlo a plenitud. Simplemente puedes copiar, comer y usar confiado de Internet si solo vas a ir a reescribir mi l toe otro euro o algo así O simplemente puedes leer un poco sobre expresiones regulares. Pero básicamente para nosotros es interesante que los Ural cuando aquí mismo slash e pi slash posts vayan a nuestro servicio como postes slash. Esto es todo. Ahora también quiero dislocación corporativa y por nombrarlo todo slash un pastel Y aquí también quiero proxy path. Pero aquí va a ser pobre 3003 creo. Pero vamos a revisar tan pesado empate con sport 3001 y nuestro 3002. Entonces debería ser demasiado Ahora funcionaría fuera de la caja. Entonces vamos a revisar por estos que necesitamos en nuestro frente y para hacer una solicitud. Entonces vamos a adherir algún botón. Por ejemplo, After Header, tenemos aquí botón y aquí en click. Por lo que tenemos en click Handler y aquí va a ir nuestra función, Por ejemplo, hacer una P solicito. Ahora necesitamos crear esta función por lo que aquí estará const. Podrán mantener una solicitud. Y aquí dentro, primer lugar, vamos sólo al cónsul log si está funcionando. Y también quiero instalar aquí de frente y exceso como lo hacía antes. Por lo que npm instala el exceso porque también queremos hacer solicitudes con exceso. Así que haces una instalación que ya podemos importar sobresale del exceso. Y ahora, para hacer peticiones, necesitamos obtener variables de entorno. Pero el problema es que no podemos simplemente darles aquí como lo hicimos para nuestras aplicaciones de señas , porque básicamente, porque básicamente, podemos llegar aquí dentro de frente y parte. Pero no sólo van a entrar dentro de nuestro frente de JavaScript y construir, lo que significa que necesitamos de alguna manera mágicamente darles a través de nuestro servicio de creación de aplicaciones naufragadas que compilamos toe pasarlos de señas a frente, y pero podemos hacer mucho fácil enfoque. Simplemente podemos hacer una solicitud tojust slash y luego un pastel y, por ejemplo, Post porque en este caso, navegador por defecto usará Ural actual. Entonces simplemente no escribas host y empecemos con slash. Entonces hagámoslo ahora aquí. Pero lo único que quiero revisar En primer lugar, no necesitamos corchetes redondos y necesitamos aquí algún texto como Make a Pie request y luego aquí en la parte superior, queremos en click para hacer esta solicitud con exceso. Y como decían, acabamos de poner aquí slash y luego la petición. Entonces vamos a comprobar qué queremos buscar. Asumamos que queremos buscar algo de nuestro pastel. Entonces aquí tenemos, por ejemplo, conseguir quién es usuario actual, lo cual es agradable de probar porque en este caso vamos a comprobar si podemos de frente y hacer una solicitud o r a p I donde obtendremos una solicitud a nuestra autenticación y luego obtener datos de nuevo al frente. Y así aquí vamos a escribir como thes Y como dijimos, necesitamos prefijarlo con repago de slash en otro caso, nuestro in jinx no entenderá. ¿ De qué se trata? Entonces aquí hay una solicitud su un pastel, luego prueba con el usuario actual y esto es obtener solicitud. Aquí está nuestra respuesta. Y simplemente cónsul log ¿qué hay dentro respuesta? Entonces, solo guarde esto. Como ven aquí, no tenemos ningún entorno favorable y ningún anfitrión, así que vamos a construirlo de nuevo y comprobar si está funcionando. Como pueden ver, no tengo ningún error. Y ahora, siempre que Señor la página en el navegador, puedes ver aquí en la parte inferior de en tu fondo hacer una solicitud de pastel. Ahora hacemos click en este botón y podemos ver en red que estamos haciendo la solicitud a los agujeros actuales slash ap i slash test con el usuario actual y aquí obtendría nuestra respuesta. Entonces aquí la respuesta aquí la información del usuario actual de nuestro servicio de autenticación A b I Y ahora a partir de datos de respuesta, podemos acceder a estas propiedades y renderiza algo en nuestro cliente. Entonces vamos a revisar una vez más cómo está funcionando. Si estamos justo aquí slash ovejas I slash por ejemplo test con los datos pi. Por supuesto, no funciona porque esto no es el correcto tu l de nuestro EP escucho es prueba con usuario actual, por ejemplo. Entonces como pueden ver, podemos ir directamente a nuestro servicio del FBI, pero sólo a través de nuestro dominio. Porque ahora podemos quitar con éxito de nuestro docker componer thes deportes, por ejemplo, aquí en un par ya los eliminaron. Entonces no podemos simplemente acceder a él pastel por su cuenta Onley a través de nuestro anfitrión y lo mismo que podemos hacer por fuera porque ahora estamos accediendo ellos sobre Lee tiró en jinx. Por lo que esta configuración de motores redirigir slash un pastel solicita toe nuestro servicio A pastel y dentro van resultado el IPC I perfecto. Como ves, esto está funcionando Y ahora también podemos hacer nuestra solicitud al frente y pero lo más importante recordar ese frente y no sabe nada de la red DACA o DACA porque estamos ejecutando esta cripta de cáliz en el máquina. Entonces ahora usted foolin sabe cómo podemos comunicarnos en primer lugar, entre servicios y en segundo lugar, entre nuestro código de cliente, que no está dentro de nuestros servicios. Si tienes algún comentario o pregunta, siéntete libre de preguntarme y los contestaré seguro 22. Última tuning: estamos casi terminados Horas Un tipo en off encuestas del Dr Kam antes de revisar nuestro despliegue riel . En realidad, no tiene tanto sentido comprobar el despliegue de rial porque básicamente, desarrollar en contenedores siempre es riel porque no hace ninguna diferencia si tienes este contenedor funcionando en tu máquina local o en tu servidor. Pero claro, te voy a mostrar cómo estos contenedores ah, trabajando en producción para que veas que es exactamente lo mismo, como en mi propia máquina. Pero antes que nada, hagamos algún hallazgo sindical para comprobar que todo está funcionando como se esperaba para el desarrollo, el medio ambiente y la producción primero Horrible. Quitemos puertos de aquí. Como ya dije, no queremos exponer ningún puerto porque no implementamos public ik I por ahora, todos nuestros puertos expuse Onley a través en jinx. Entonces básicamente en Li Jing está expuesto en 80 puerto y luego dentro de configuración de motores Aquí estamos proxim toe los poros pero estos son puertos internos fuera de la red Dhaka. El siguiente punto utilizado para eliminar variables de entorno que no usamos. Entonces básicamente, este host aquí dentro del FBI y este host aquí dentro de la autenticación no se usa, pero en realidad quiero describir el caso de uso cuando lo necesitamos. Entonces supongamos que en algún momento quieres redirigir a un usuario a tu anfitrión aéreo, por ejemplo, tu dentro del FBI y básicamente el resultado de la respuesta no es el Jason, por ejemplo, sino cada directo al hogar página, sin duda puede suceder. Y luego quieres saber qué host necesitas redirigir. Entonces básicamente estás escribiendo dentro Eres un pastel en fuente algo aquí. No tres Jason, sino redirigir el vestido, y aquí debería haber un tu L. Pero el punto es que nuestro A pastel serio es apátrida. No sabe nada con respecto a sus URL o qué Host of Iran En nuestra aplicación on para estos, necesitamos proporcionar variables de entorno y este es exactamente el caso. Entonces básicamente, lo eliminaré por ahora. Pero al menos si necesitas implementarlo, sabes por qué lo necesitas y cómo puedes manejarlo. Un punto más es que el extranjero Jing está aquí. Si lo hacemos en jinx este proxy en para un pastel y aquí en realidad esto es copiar pegar aquí deberíamos poner horas y no un byword. Entonces básicamente estamos haciendo aquí tres proxy en y para hacerlo correctamente, necesitamos aquí para escribir más Depende de. Entonces básicamente, queremos empezar primero estos 33 servicios y luego estamos seguros que están en jinx. solicitará proxy correctamente y no conseguiremos un estrecho. Creo que nuestra configuración aquí se ve realmente bonita. Entonces escribimos aquí todo lo que necesitamos y ahora necesitamos comprobar si nuestro desarrollo de componer docker también es suficiente. En realidad, no es porque aquí describimos en el frente y Andy Pie. Entonces a la izquierda está nuestra configuración de producción en el ojo derecho desarrollo abierto. Entonces aquí por frente y todo se ve bien. Por lo que en Cam Rahn inicio es el comando que iniciará la web. Serra apagado. Crear reaccionar. Sí, estas dos cosas estaban necesitando para crear exactamente rastrillado y aquí tenemos frente y llagas . Este es nuestro volumen, por lo que podemos cambiar archivo y nuestro servicio se volverá a iniciar automáticamente. Ahora hablemos primero de un chico. Vamos a comprobar si tenemos este comando. Por lo que aquí en Peca Jason, tenemos inicio para la producción y ahí para el desarrollo y este no es un demonio. Por lo que esto es exactamente correcto y escuchar Todos los archivos fuente están montados volumen del dedo del pie. También queremos hacer lo mismo con respecto a nuestra casa. Entonces básicamente tenemos todo el servicio y vamos a comprobar si tenemos este comando dentro. Entonces aquí también tenemos sordos para ningún demonio. Entonces aquí en PM, rondel está bien y el volumen es el mismo. Entonces aquí no habrá un chico sino nuestra fuente y aquí, usuario fuente AP. Entonces todo se ve bien aquí y lo último son los motores así que en jinx queremos overtoe anular Onley estas configuración aquí, Como puedes ver para la producción, tenemos aquí en Jinx Khan fraude y para el desarrollo. Queremos tener en Jinx Khan muerte o local lo que prefieras. Entonces básicamente me gusta separar completamente a estos dos convictos. Básicamente, es posible crear solo un conflicto y luego pasar el dedo del pie dentro de variables de entorno invariables . Pero creo que es mucho más difícil apoyar y comprobar porque si tienes esta extraña en plantilla jinx con sentido variable de entorno encendido. Entonces es por eso que siempre solo creo conflictos de dedo y esto es exactamente lo que haré aquí. Por lo que tenemos las exportaciones de motores se están quedando igual, que es la OTAN sobre derecha. Nuestros volúmenes básicamente pueden copiar esta línea por completo porque es igual y aquí en lugar de amplio, escribiré, por ejemplo, la muerte. Por lo que la muerte para el desarrollo y el camino será el mismo. Ahora vamos a comprobar que nuestro desarrollo DACA está funcionando. Por lo que acabamos de probar Docker componer menos f docker componer jahmal mindset Docker componer desarrollo up build y estamos comprobando si está funcionando. En realidad, me dieron un estrecho porque mi sitio web acaba de dejar de funcionar Y el punto es que aquí para motores, no copié el conflicto jinx extranjero llamado prod. Entonces solo quiero copiarlo y pegarlo aquí con el nombre en Jinx Khan sordo Y aquí. ¿ Qué necesitamos cambiar? Entonces básicamente todo se mantiene exactamente igual. Por lo que este proxy en es lo mismo que en la producción. Entonces aquí, lo único para cambiar el nombre de su servidor del mundo real DACA dot com a local Básicamente, nada dice en contra de usar el mismo dominio que estás usando para producción on loco en solo actualizar tu archivo hosts, pero creo que es más conveniente distinguir entre dos Urales. Por eso estoy copiando todo. Y aquí tengo local. Y si preguntas cómo podemos abrir ahora este tu l solo necesitas abrir archivo host en tu máquina y pegar este dominio aquí como lo hicimos anteriormente. Entonces básicamente soy solo tipo en el dominio y reinicio Waas Una vez más mi doctor compuso Y luego cuando saltamos un mundo real oscuro adat loco, debería abrir nuestro l Como puedes ver, podemos saltar a local hasta que loco y en realidad está funcionando pero alguna vez consigue una flecha con enchufes web. Entonces básicamente varias palabras sobre los enchufes. Entonces por defecto, create react app está teniendo este futuro que se llama Holter Lord, en donde Entre los enchufes tres de conexión obsequiosa para Yoko gran observador de Apple naufragado . Y esto significa que cada vez que guardas el archivo vomitó sockets crear naufragado Cada observador está recibiendo la respuesta. Se cambió un archivo K y luego se confiará la página. El punto es, aquí que nuestro en jinx y esto es en realidad en jinx. Ahora bien, ¿qué está sirviendo a este servidor Web con este pas proxy que viste aquí? Y esto en jinx por defecto no soporta con circuitos. Es por eso que estamos recibiendo 404 Y necesitamos configurar esta ubicación correctamente y podemos hacerlo . Necesitamos actualizar nuestra versión http. Entonces básicamente, sucesivo las partes proxy, solo podemos probarlo, por ejemplo necesario para enchufes. Simplemente entiende por qué resultó aquí. Así es. Proxy. Versión Http Podría ser 1.1 y luego proxy dicho encabezado y aquí encabezado sería Upgrade dollar http upgrade. Y entonces el último es proxies tenía cabecera la misma conexión y aquí levantar, actualizar stream. Entonces básicamente, en este caso, estamos diciendo jinx extranjero para usar http versión 1.1 y aquí hay encabezados de actualización especiales. Y ahora, cuando iniciamos nuestra docker componer y recargar la página en el navegador, se puede ver que no tenemos una era con web sockets y debilitamos salto en red y aquí campo con bob sockets y se puede ver la conexión de socket en real mundo Doctor Loco, y está bien. Entonces esto es conseguir con 101. Por lo que todo está funcionando como se esperaba. Y vamos a tratar, por ejemplo, cambiar un archivo como aquí delante y vamos a nombrar comer circuitos web arreglar y simplemente lo guardamos . Y como se puede ver en proceso, la página era real. Yo lo hice, y obtenemos este mensaje web se arregla. El último que quiero cambio de dedo del pie es que en nuestro molde de desarrollo cuando se construyeron frente y en archivo Dhaka, tenemos npm run build y en PM install serve. Y se podría ver que cuando estamos ejecutando una compilación de desarrollo, estamos haciendo esta construcción de producción y básicamente en desarrollo. No necesitamos estas dos líneas, por lo que es posible t solo usar diferentes archivos médicos para la producción y para el desarrollo. Entonces para esto quiero escribir aquí prod Así que básicamente de la misma manera como con él hallazgos hay orgullo y tres personal. Entonces aquí es amplio y voy a copiar este archivo y pegar y renombrarlo toe docket archivo muerte y básicamente quiero sólo en Dhaka archivo muerte para quitar últimos dos leones. Entonces básicamente estamos equipando en todos los archivos y PM con estilo. Necesitamos pero no necesitamos en PM Ron build y en PM install servir nuestro perfil estoy viviendo igual como éste Waas Ahora necesitamos hacer un ajuste aquí dentro de frente y en desarrollo jahmal y en producción. Entonces básicamente aquí como ves una manera dicho construir y construir es frente y carpeta. Esto significa que el médico acabará de leer el archivo doc de la carpeta construida y espera tener el archivo DACA con el archivo docket de nombres ahí, lo que significa que nuestro nombre y archivo DACA Prod y Docker archivo Dev no lo leerá porque no lo es default. Y básicamente aquí podemos quitar esta línea y decir dos cosas Primero de otoño archivo docket y este es el nombre lo que esperamos. Entonces en nuestro caso será docker file prod y lo siguiente es contexto. Entonces el contexto debe ser de frente. Y la idea es que el contexto es solo el directorio de trabajo donde buscaremos el archivo DACA aquí, lo que significa aquí el contexto está al frente y es por eso que no necesitamos perfeccionar nuestra ruta para archivo docker aquí. Ahora hagamos lo mismo para el desarrollo como puedes ver aquí no tenemos parámetro construido en absoluto. Entonces aquí quiero especificar construir y encima,perro derecho, perro derecho, Un archivo con DACA archivado o muerte. Y aquí los contextos es frente. Y así básicamente esto es todo. En este caso para el desarrollo de la producción, todavía construiremos nuestro proyecto e instalaremos n g servir. Perdón, sólo servir es demasiado servirse. Pero para el desarrollo no necesitamos esto y como lo puedes ver ahora reinicio. Docker componer. Y como puedes ver este frente será mucho más rápido porque solo instalamos paquetes. Pero no necesitamos construir todo el proyecto e instalar paquete adicional después iniciar Docker componer, se puede ver que todo está funcionando de la misma manera que antes. Por lo que básicamente nuestra configuración para Dr Compuesto en producción y en desarrollo está totalmente terminada. Ahora, solo para checar aquí tenemos este fondo puede mantener una solicitud y como pueden ver, sigue funcionando. Entonces aquí estamos obteniendo los datos. Y en red, cuando filtramos por X, cada uno se puede ver que estamos haciendo una solicitud para la masa actual barra macho ocho i slash test era usuario actual. Entonces esto significa que todo está funcionando mayormente y podemos ir a desplegar nuestro proyecto a la producción. Si tiene algún comentario o pregunta, siéntase libre de hacerlos y yo les responderé con seguridad. 23. Hazlo tú mismo. Mailer: en este video, quiero que pruebes un implementar un servicio uno por ti mismo. Anteriormente, hicimos todos los servicios juntos, pero creo que es una bonita posibilidad intentar implementar una parte sin mi orientación. Entonces si quieres hacerlo, solo mira lector. De lo contrario, solo puedes quedarte con este video e ir directamente a los videos de implementación. Entonces aquí está la tarea que hablamos del servicio Heaven Mailer. Entonces, básicamente, ¿qué es el servicio Mehlis? Se trata de un servicio el cual tiene algún pastel A, y se puede desde sus diferentes servicios. Pide a este pastel que envíe un correo electrónico, por ejemplo. Digamos que estamos al frente y y tenemos aquí formulario para registrar usuario, lo que significa que tenemos una solicitud desde frente y hasta nuestro servicio de autenticación, donde estamos diciendo OK, Policía registró a este usuario en el caso de que la autenticación fuera éxito hacia fuera. servicio de sindicación debe enviar cualquier tarta de carbón a nuestro Mehlis se apresura para que enviemos un correo electrónico. Por lo que básicamente los servicios Mehlis realmente alcanzan. Ahí no hay base de datos, así que solo decimos el cuerpo y el título fuera del correo electrónico, lo que significa algo así como bien, usuario estaba registrado. Este es el nombre y este es un email y luego en masculino, ten quizá plantillas o lo que quieras enviar un email. Y básicamente esto es como el alcance aislado Tinky, que envuelve alguna aplicación de correo de terceros o salsa que estás usando, y solo para nuestra aplicación. Simplifica con esto trabajar con biblioteca de terceros. Por lo que una vez más, el objetivo es simplemente implementar un nuevo servicio donde tendrás cualquier pastel. Simplemente puedes hacer varios carbones de prueba como, por ejemplo, enviar correo electrónico registrado o sand ist exitoso email off para suscripción o notificación, y simplemente tratar de comunicarse entre diferentes servicios. También es necesario describir el servicio para la producción y para el desarrollo, por lo que debe tener volumen, y luego puede cambiar sus archivos localmente y ver ese final del proyecto actualización del servidor Web. Entonces creo que esta es una tarea agradable, pequeña para probar, implementar y servirte. Si tiene algún comentario o pregunta, siéntase libre de hacerlos, y yo les responderé con seguridad. 24. Pushing a git: en este video, quiero iniciar parte con respecto al despliegue. Y la primera pregunta ¿cómo podemos desplegar todo lo que hicimos a la producción? Y básicamente, con DACA, hay como millones de herramientas fuera para desplegar a la producción. Algunos de ellos son tres. Algunas de ellas están pagadas fuera de curso, prefiero tres y estable. Es por ello que nos quedaremos con Docker, compondremos y sacaremos básicamente la idea con DACA y Dr Hub por defecto es un poco diferente a lo que lo estoy haciendo. Entonces, básicamente, cuando vamos de pie a un muelle, su hub y estamos abriendo un sitio web la idea es que puedes registrarte aquí y empujar tus imágenes. Lo que significa que en el momento en que usamos imágenes como tú viste aquí, por ejemplo, usamos imagen extraña jinx entre go it waas que alguien empujó la imagen del dedo del pie el centro médico y luego podemos jalarla. Todo esto está bien, Pero cuando ves precios, entiendes que hay algo oculto es lo que básicamente significa que no puedes simplemente empujar cualquier cantidad de imágenes que quieras. Necesitas pagar rumbo. Hay como comunidad para raperos públicos, pero quién quiere empujar imágenes privadas incluso para probar dentro de hub de pato y dinero de bahía si los quieres privados, lo que significa que necesitamos algunos son la solución En realidad, la idea con hub DACA y con push and pull en la imagen es Israel es fuerte y agradable. Lo que significa que solo imagina que renté el servidor y ahora quiero que este proyecto esté disponible ahí. Entonces básicamente, si empujo de estas imágenes que creé así básicamente aquí creamos, como, cinco imágenes por cada contenedor de cada servicio en Dhaka hub y entonces simplemente puedo tirar estas imágenes una vez y usarlas. La idea es que no los construya como ustedes vieron aquí, lo que hicimos cada vez que los construimos cada vez que estamos corriendo. Y este proceso de construcción es realmente largo. Pero básicamente, desde mi punto de vista, no tiene sentido usar DACA Harb Oh, son otra solución diferente donde necesitas pagar dinero solo porque tu imagen será pro build ahí. Simplemente podemos construir esta imagen directamente en el servidor de producción. Y nada dice en contra de estos porque básicamente, no es como si tuvieras 2000 servidores y construir la imagen en cada servicio es así difícil? Entonces básicamente aquí está mi idea de que estoy usando para todo mi proyecto y no solo para el mío, sino también para proyectos de empresa. Está funcionando muy bien Y no necesitas concentrador DACA o solución similar para esto. Entonces simplemente ponemos nuestro frío como siempre en get rapero Así lo hicimos para todos los proyectos. Entonces tienes get hub, get lab o lo que quieras, donde hospedas a tus get trippers. Entonces solo estamos empujando su frío. Nada más. Ni imágenes, ni doctor, nada. Entonces solo configuramos un servidor como algún servidor Lennox normal de cualquier proveedor lo que quieras. Y ahí instalamos DACA y Docker componemos y, por supuesto, obtenemos entonces simplemente necesitamos sacar nuestro proyecto de conseguir el triple. Y siempre hay Irán docker componer construir y después Docker componer y básicamente estamos listos. No hay herramientas específicas. Simplemente consigue que DACA y docker compongan. Obviamente, si estás haciendo este tipo de cosas por servicio 200, no se alimenta pero normalmente si te desarrollas en pequeños proyectos y dejando no tan pequeños sino para equipos pequeños como 10 15 personas, aún puedes usar este enfoque. En realidad no consume mucho tiempo y no necesitas pagar nada. Entonces así es como desplegaremos con nuestro proyecto. Entonces para mí, soy un usuario de get lab. Y aquí si quieres empujar nuestro proyecto para por ejemplo conseguir lámpara o conseguir tener o lo que tienes simplemente necesitas crear un nuevo proyecto. Es como la misma interfaz en cada plataforma. Entonces aquí está el nombre del proyecto puedo usar Mundo real Dock him. Creo que este es nombre ya usado por mí porque ya lo empujé. Entonces voy a crear mundo real aka prueba Y aquí es privado. Entonces por eso me gusta. Amor tienes Reppas privadas gratis Y aquí tienes instrucciones de cómo puedes empujar, por ejemplo y existe desplegando. Entonces esto es exactamente lo que tenemos. Necesitas tener a Giddens teldyn tu máquina. Espero que lo tengas. Puedes comprobarlo con G menos versión. Entonces simplemente necesitas escribir consiguiendo necesidad, luego obtén el control remoto en Origen. Y este es el Ural fuera de mi representante. Ah, Entonces consigue agregar. Te comprometerías y conseguirías empuje. Y después de estos esto es exactamente lo hice porque guardé todos los archivos que tenemos. Por lo que ya tengo a este rapero. Y aquí está mi Empuje Trapper. Entonces esto es sólo todos los archivos que tenemos aquí. Y si sólo soy un salto a la rama, ¿dónde estoy? Se pueden ver todos nuestros antes viejos que creamos Y dos cosas Docker componen desarrollo y docker componen. Sí, mo Así que todo se empuja y ahora podemos empezar con servidor de producción. Si tiene algún comentario o pregunta, siéntase libre de hacerlos y yo les responderé con seguridad. 25. Configuración de el servidor de producción: en este video. Quiero hablar de configurar nuestro servidor de producción básicamente para ejecutar nuestro código y nuestro observador en algún lugar, necesitamos rentar un servidor y pagar dinero fuera de curso. Entiendo que para el propósito fuera solo completar el curso. Quizás no quieras pagar el dedo del pie por el servidor rial y gastar dinero por estos. Entonces básicamente festival. Simplemente puedes ver el final del curso sin pagar el dinero para el servidor porque verás que está funcionando así. Y puedes hacerlo cuando estés listo para esto. Y en segundo lugar, solo necesitas cualquier máquina Linux donde inicies el médico con docker componer para que no sea un servidor rentado donde pagas la minería, simplemente puedes instalar tu máquina Linux. Apenas cualquier Lennox que quieras probar. Por ejemplo, en su máquina antigua o en su máquina actual. Usaré su solución de precios. Entonces esto es lo que estoy usando a mí mismo. Pero esto no es un anuncio, por lo que puedes usar cualquier servicio en la nube que necesites. Entonces básicamente, solo necesitamos servicio de lino con un sabio, y estoy usando cabezas en un porque es realmente barato, y creo que esto es lo más barato que lo encontré. Entonces aquí puedes saltar a la nube y aquí tienes precios. Y básicamente el servidor más barato por mes cuesta alrededor de tres euros por dos gigabytes de y 20 gigabytes de espacio en disco. Entonces crearé aquí que tu servidor solo para los propósitos de prueba y luego lo eliminaré cuando no lo necesite. Entonces básicamente aquí me registré como, ah usuario. Y aquí solo puedes hacer clic en servidor y luego puedes seleccionar la asignación. En realidad, no importa. Imagen usará quién no va a dedo 18. Es tipos finos licitados. También está bien. Y aquí puedes comprobar el tamaño. Entonces básicamente me llevaré el más pequeño y aquí a la derecha, se puede ver que el precio es de casi tres años al mes. Básicamente, no necesitas nada más caro. Esto es suficiente para incluso varios proyectos. Entonces esto es todo. Básicamente, no necesitamos volúmenes. No necesitamos red. No necesitamos futuros adicionales. Y en realidad nada aquí voy a escribir Docker. ¿ Cuál era el nombre Doc? Mundo Real se lo llevó. Soldado. Nombremos Israel world dot com, y creo que es bonito nombre y sin clave ssh. Seleccionado muy comando para usar una clave ssh. En realidad, este curso no se trata de Lennox y cómo configurar de forma segura golpea era. Entonces solo diré que si quieres hacerlo correctamente, necesitabas a Lee algún conocimiento como ese no debes usar un usuario root. Para un usuario za normal en su servidor, necesita al menos crear un usuario adicional y darle a este usuario tipo de permisos para que no enrute completamente. Y en este curso, sólo por el bien fuera de la simplicidad, usaré exactamente el usuario de ruta por defecto del usuario raíz se creará. Por lo que obtendremos un pasaporte por correo electrónico y simplemente instalaremos DACA y Docker componer Así que no hay configuración de servidor riel que realmente necesita para la producción. Entonces aquí solo hago clic en crear y por ahora y después se crea. Aquí puedes ver proceso y en correo electrónico obtendré sus credenciales para mi cuenta raíz. Entonces básicamente ya recibí un correo con el pasaporte para la cuenta root. Entonces aquí es que acabo de hacer clic aquí en este nuevo servidor y como ves, tenemos una dirección p en la parte superior. Por lo que necesitamos copiar estos y luego simplemente basarnos Es una ruta de sabio. Y luego en y la dirección del IPC. Después de esto, debemos entrar, y necesitamos proporcionar pasaporte de ruta desde el correo electrónico. Entonces aquí pegué la contraseña y necesitamos proporcionar la contraseña actual y luego tu contraseña porque la contraseña se debe cambiar automáticamente a tu contraseña después de obtener el exceso del dedo del pie del servidor. Entonces básicamente aquí, una contraseña actual y luego tu contraseña. Sólo prueba algo seguro. Y ahora estamos dentro de nuestro caparazón. Entonces aquí, como pueden ver, estoy en directorio raíz y estoy aquí en mi Sarah rentada. Entonces ahora todo se ve bien y necesitamos instalar DACA y docker componer. lo que aquí en Hesse, la razón ojos artículo ya cómo instalar DACA y cómo desplegar Conocida ella s aplicación, es super rugido pero aparte respecto al aislamiento DACA y docker componer es realmente válido. Por lo que usé este enlace. Esto es como una documentación comunitaria para cabezas Ahora si no te gusta este tutorial, puedes tomar cualquier tutorial que quieras. La idea principal es que en tu sistema, necesitas instalar DACA End, aka Compuesto. Entonces aquí me saltaré parte con la configuración de imagen y así sucesivamente y empujando puntera hub. Esto es exactamente lo que no hicimos. Y aquí está el paso para con estilo en Dhaka en un paquete. Entonces, en primer lugar, queremos actualizar todo y luego instalar estos paquetes que están de estado aquí. Entonces simplemente basamos todo y esperamos. Por lo que parece que todo fue instalado. Ahora saltamos en el siguiente paso necesitamos agregar DACA gp geeky y configurar Rep personalizado Oh, Así que básicamente, simplemente podemos copiar pegarlos nuevamente en la línea común y aquí está instalado. El último paso es volver a hacer una actualización porque necesitamos actualizar esta app personalizada triple y luego instalar joke isi. Por lo que acabo de basar estos comandos y de nuevo necesitamos esperar a la instalación. Entonces aquí estamos pegando. Sí, y se está descargando DACA. Ahora puedes conducir dr menos moda y comprobar que el doctor se instaló con éxito. El siguiente paso estilo oriental DACA compuso y básicamente la pudrición tomó un mes aquí, El 1er 1 no ama un binario y el segundo dijo que este binario se le permitiera la ejecución. Ahora vamos a comprobar si deberíamos tener a Docker componer así lo tenía, como un compuesto menos menos pasión. También es el instalado y disponible y el último paso es agregar a nuestro usuario actual aquí toe grupo DACA. Entonces básicamente que podemos John doctor comandos de nuestro usuario actual. Por lo que simplemente necesitamos pegar este comando. Y como puedes ver, mi usuario no existe. Y espero que por razones de seguridad cree usuario no root. Pero tú solo eres usuario. Pero como este es un proceso de prueba, simplemente aquí mismo enrutaré usando. Pero por supuesto, no es bueno usar usuario root en absoluto. Debe ser solo para privilegios de administrador. Ahora intentemos ejecutar algún comando médico para que podamos montar Dr Process y ver que no tenemos ningún proceso y todo está instalado. Lo que significa que Doc está ahí. Docker componer está ahí y pasamos, creo, menos de cinco minutos para no señorizar todo en nuestro nuevo servidor. Si tiene algún comentario o pregunta, siéntase libre de preguntarles y les responderé con seguridad 26. Implementación de proyecto: En video anterior configuramos con éxito nuestro servidor. Por lo que DACA y Docker componer está disponible farsa Y ahora solo necesitamos desplegar nuestro proyecto. Entonces básicamente es realmente simple. Primero horrible. Queremos clonar desde get lab nuestro reporte. Y en segundo lugar, sólo queremos hacer los mismos comandos como lo hizo localmente. Entonces aquí voy a mi ondulación y me llevo la rama que quiero. Si tienes maestro, solo tomas maestro. Y entonces aquí está clon y queremos toe klik Copiar aquí l de clon con un sabio. Entonces aquí estamos en lo cierto en Git Clone. Simplemente podemos copiarlo dedo del pie de nuestra carpeta raíz. O podemos crear aquí, por ejemplo, carpeta Proyectos y aquí dentro del proyecto. Queremos conseguir clon nuestro get lab mundo real. Entonces como puedes ver, comando git no encontrado Lo que significa que necesitan instalar get so apt Get install get Vamos a intentarlo de nuevo Obtener clon Y estamos clonando nuestro mundo real. De acuerdo, Y aquí tenemos que golpear. Sí, porque lo estamos haciendo la primera vez y no tenemos acceso al reporte porque obviamente este destripador privado y exceso negó. Por lo que necesitamos aquí una clave pública para poder clonar el repositorio. Entonces aquí necesitamos crear una clave ssh en nuestro servidor. Consigue una llave pública y ponla dentro. Consigue laboratorio. Y para esto simplemente puede Google obtener permiso denegado clave pública en Obtener lámpara en algo así. Básicamente, la idea es que simplemente alrededor como sabio otra vez y va a generar un mantener su oración entre público y privado cada Saiki. Por lo que será seguro toe dot ssh idea aire. Diga, sólo hay que golpear Entrar una vez más entrar porque no queremos una frase de pase Y ahora se genera waas. Entonces aquí podemos hacer un menos. Por ejemplo ruta eso es un sabio. Y aquí tenemos nuestra idea de claves, Risa e ideas arriba, arriba ahora simplemente puedes abrir con ellas. Yo d s un pub. Por lo que iss slash gobernó hija s a sabio i d bomba ERISA y el equipo no es correcto. Comandante le dijo a BV y como puedes ver aquí tienes estas claves Así que básicamente puedes simplemente copiar todo y jovencirlo Y ahora ve dedo nuestra configuración de lámpara get en tu perfil. Por lo que básicamente, en tu perfil, puedes hacer click en la configuración. Entonces aquí está la configuración y aquí tienes la clave Ssh. Ahora simplemente estamos pegando aquí la clave y haga clic en clave. Después de que hicieras tesis, debería funcionar con jalar a nuestro representante. Ah, así que intentemos de nuevo aquí con tener clon de Git. Y como puedes ver ahora, no tenemos ningún problema en Clon en el rep. Ah, así que aquí tengo mundo real. De acuerdo, saltemos a la carpeta. Y aquí se puede ver obtener expresión remota de la mina. Se puede ver que fue sacado de Get lab. Ahora, aquí estoy en el mundo real tomé una carpeta y queremos iniciar Docker componer build. Así que acabamos de probar Docker componer build Y esto es todo. No necesitamos menos f aquí porque simplemente hacemos una construcción de producción. Y como puedes ver aquí tenemos algunas imágenes y se sacarán algunas imágenes. Entonces básicamente, después de esto, estamos haciendo todas las mismas cosas que hicimos en nuestra máquina local. Y como en nuestra máquina local, desarrollamos con imágenes de Linux, es todo aislado y funcionará al 100%, Así que no es como normalmente, Winds dijo previamente resultan Dockers algunas herramientas localmente y luego en producción. Aquí no trabajaron. No puede suceder porque cada vez que creamos un contenedor comenzamos con el contenedor súper fresco con la misma imagen. Pero aquí hay una cosa más importante que entender. Existe una diferencia entre construir una imagen en producción y tirar de la imagen desde el hub de Dhaka. Entonces, básicamente, puedes sentir la diferencia cuando estamos construyendo algo sobre la producción. No podemos estar 100% seguros de que funcione porque lo estamos construyendo a partir de nuestros archivos. Lo que significa que, por ejemplo, aquí en algún lugar tuvimos mongo latest. Entonces aquí no tenemos versión específica, lo que significa que cuando estamos construyendo sobre manga de producción más reciente, tal vez obtengamos la última versión que no funcionará con nuestro proyecto. Entonces o bien necesitas aquí versiones específicas como lo hicimos aquí con jazz conocido como lo recuerdas aquí en un pastel, por ejemplo, con la versión exacta especificada. En este caso se construirá igual. Pero claro que debes estar al tanto de ello. Entonces es por eso que trato siempre de no usar cosas como las últimas o estables, pero cambiarlas más adelante en versión exacta. Como puedes ver aquí después de que oscurezca, compongas construir todo se instaló y se crearon imágenes aburridas. Ahora simplemente necesitamos ejecutar Docker componer y esto es todo. Esto es exactamente lo que hicimos en nuestra máquina local. Ahora, como puedes ver, un docker componer se hizo con éxito en nuestro servidor. Ahora la pregunta es cómo podemos abrir un re un mundo aka Com en nuestro servidor. Y normalmente podemos comprar el dominio, por ejemplo, éste y luego en el registro original, simplemente se establece la configuración fuera de la dirección I P que será enlazarlo con este dominio . No queremos comprar un dominio y hacer este proceso. Entonces la respuesta fácil es la misma, como lo hicimos anteriormente a través del anfitrión. Entonces básicamente, costa es algo realmente bonito porque puedes decir en tu máquina local que no quieres ir a Internet y buscar este dominio. Pero simplemente quieres dedo del pie Hecate. Y en este caso aquí, podemos proveer para el mundo ferroviario que podría venir? No nuestro anfitrión local, sino e P. Dirección fuera de nuestro servidor. Por lo que aquí copio de los cabezales de consola. Ahora que calma nube la dirección AP de mi servidor y pegarlo aquí y ahora con Israel World docket había llegado Cuando lo abriré en el navegador, saltará aesta dirección ap y no en el dominio rial si incluso existe. Entonces vamos a golpear aquí. Entra Y como puedes ver en la consola, solo lo haré limpio una vez más como veas a nuestro docker componer Israel dentro de nuestro servidor. Y estos son registros de nuestros motores, lo que significa que nuestro dominio ya funciona desde nuestra Sarah. Entonces básicamente, a menos de dos minutos, creo, o al menos dos comandos empezamos en producción totalmente nuestro proyecto sin ningún gran ajetreo porque estamos 100% seguros de que nuestro proyecto funcionará en cualquier máquina. Como puedes ver solo con Ron Docker componer, construir Docker componer y esto es lo que puedes ver ahora confié en la página y no funciona porque detuve el proceso. Ahora lo principal aquí es que no quieres tenerlo manejando en consola como nonstop a ble Querías ser desprendido de la consola y para esto. Has cavado un comando compuesto hasta menos D. Y como puedes ver aquí, estamos empezando todo. Pero después no verás los troncos porque se desprenderán. Entonces ahora, como pueden ver, nuestro cónsul es libre. Podemos despejar comer, y con los procesos portuarios, podemos comprobar ¿qué procesos tenemos? Por lo que estos son nuestros procesos para el mundo real doc A pastel. Y si quieres revisar troncos, puedes escribir troncos oscurecidos y luego el nombre, por ejemplo Logs from in jinx aquí se mostrarán en cerraduras de genética Y ahora con el Señor otra vez . Y como pueden ver, nuestra página web está funcionando y así es exactamente como despliego proyectos a la producción. Simplemente consigue clon o yacía para conseguir pool. Y entonces yo sólo Irán Docker compongo ar menos menos construir. Y luego si es necesario, se construirá automáticamente ID y lo alrededor de nuevo. Y ahora incluso puedes checar aquí en consola Ive Nuestro imperio solicita entre servicios está funcionando. Entonces se puede ver que Sí, está funcionando porque aquí tenemos mundo real coheteado calma y escuchamos nuestra respuesta y está funcionando. Pero aquí estamos usando nuestro dominio de producción. Entonces, básicamente, así es como fácil y agradable puedes desplegar aplicaciones Docker Compose para producir resultado cualquier Hessel. Si tiene algún comentario o pregunta, siéntase libre de hacerlos y les responderé con seguridad. 27. Docker de limpieza: En video anterior, desplegamos con éxito nuestra aplicación a la producción. Ahora quiero hablar un poco de limpieza. Entonces básicamente tú y después de que implementamos este proyecto, si vamos a escribir algo como Docker Image, por ejemplo , imagen oscura, a menos que puedas ver bastantes imágenes en mi máquina. Y tal vez incluso algunas imágenes no son lo que instalamos. Entonces básicamente aquí, como pueden ver, tengo muchas imágenes fuera, non, y esto también es un problema. Entonces en primer lugar, toda la pregunta es lo que se sabe non y cómo podemos quitar todo de forma segura que no necesitamos . Entonces ninguno non es normalmente algunas imágenes intermedias inmediatas que no necesitamos, pero fueron utilizadas para la construcción. No necesitamos meternos en el interior de esta pequeñita, pero queremos con seguridad eliminar todas las imágenes que no se utilizan. Lo mismo se consideran contenedores que se pueden iniciar en nuestra máquina o simplemente cuelga ahí redes, volúmenes o lo que sea, Doc, ustedes cosas que crearon así normalmente mucho tiempo la gente estaba quitando imágenes de cardo por , pero ahora hay un mando realmente agradable. Si escribes sistema DACA y luego entra, Ves algunas cosas del sistema que puedes usar y hay un comando especial que se llama ciruela, y se ciruela, elimina y se utiliza datos de hecho puede limpiar de forma segura Todo. Lo que mencioné, como imágenes para contenedores Williams en así sucesivamente. Entonces probemos este sistema DACA poda Y aquí estamos golpeando Enter. Como se puede ver, esto eliminará todos los contenedores stop todas las redes que no son utilizadas por contenedores, todas las imágenes colgantes y todo dinero en efectivo. Lo que significa básicamente, si no hemos corrido en encuestas de comunicación de Dhaka como todas estas cosas se van a quitar. Y todo esto está bien porque cuando lo construimos nuestras imágenes, solo podemos conformar comando y las usaremos. Entonces básicamente está bien quitar aquí todo y no, este comando no romperá tu sistema. Entonces básicamente solo estoy golpeando. Sí, y ahora va a estar quitando cosas y a veces puede limpiar realmente mucho. A veces no es tanto, pero aquí se puede ver que elimina contenedores y elimina redes. Básicamente, aquí se puede ver que algunas redes como la predeterminada. Todavía está ahí porque fue creado un al principio para nuestro mundo real. OK, pero luego cambiamos de dedo de la red llamada y por eso ya no lo necesitamos. Lo mismo es con las imágenes. Como puedes ver, lleva un poco de tiempo, pero al final veremos cuánto en dilatado como puedes ver, tardó como, dos minutos en mi máquina quitarlo todo, y la parte más importante se elimina imágenes. Como se puede ver, tenía bastantes de ellos y en la parte inferior se puede ver el espacio total eliminado waas seis gigabyte. Por lo que te recomiendo que hagas este procedimiento de vez en cuando en tu servidor de producción y también localmente cuando te desarrolles, porque en este caso recuperarás mucho espacio. Si tiene algún comentario o pregunta, siéntase libre de hacerlos y yo les responderé con seguridad. 28. Proyecto: Entonces aquí, donde terminaste con éxito mis autos fuera Docker compose y Dhaka y fueron desplegados con éxito nuestra aplicación riel a la producción. Creo que entendió que el doctor no es una bala plateada pero es una herramienta la cual fue realmente bonita carretera y podemos usarlo realmente eficiente cuatro desarrollo local y de producción. Entonces sí, sucedió. Doc Files y Docker componer puede ser complicado, especialmente con cosas como mantra de pie, Lord y así sucesivamente. Pero básicamente lo estamos haciendo en los que después de que los del se desarrollen localmente y desplegar a producción es realmente agradable y rápido. Y por supuesto, más importante es que sea estable. Ahora la pregunta es qué hacer a continuación. Y por supuesto, como siempre, estoy diciendo que aprender a través del curso es agradable Hacer realmente, Aplicación es buena, pero hacerlo por ti mismo es lo más importante. Entonces básicamente, te recomiendo que tomes un proyecto. Si ya tienes, por ejemplo, algún pequeño proyecto lateral e intenta escribirlo con DACA y docker componer solo por el bien que entiendas cómo funciona de principio a fin. Si no tienes tal proyecto que simplemente tomar cualquier proyecto que quieras desarrollar tú mismo. Por ejemplo, no sé que quieras construir cualquier pastel para cine o tal vez un clon fuera de Netflix, o tal vez un panel de tráiler y simplemente escribir implementado desde cero usando Docker y es siempre si tienes algún comentario o pregunta, siéntase libre de preguntarles, y les responderé con seguridad y nos vemos en mi próximo curso.