Hola sería genial un vídeo con un proyecto kubernetes con un proyecto MERN con los 3 ambientes desarrollo test y producción, puede ser una lista de reproducción
Hola master, quisiera agregar un tip adicional. Dentro de las buenas practicas al crear los Dockerfile es no ejecutar como usuario root, entonces es bueno definir un usuario distinto a root dentro del Dockerfile.
Que bien que me viene éste video, justo me estoy leyendo el up & running de docker pero no se cuanto de mejores prácticas para escribir dockerfiles hay, hasta ahora poco. Gracias!!
Buenísimo pero yo le meto un volumen con el repo de maven y así no se está descargando todo el tiempo. O al maven le meto una referencia a un repo corporativo
Ese batch seria mucho mas inteligente que los que lo corren! Jajaja buen video! Muchas veces lo urgente impide hacer lo importante entonces uno tira codigo sin importar las buenas costumbres =)
Muy buen, tenía muy Dockerfile así de spring boot, pero había muchas cosas que no sabía bien porque. También tengo uno igual para angular, es el mismo concepto. Pela, podes seguir el ejemplo con un docker compose y una base??
Hola pelado... gracias por otro buen video. Me preguntaba si te gustaría ayudarme a mejorar un docker-compose.yml integrado con Remote Development technology of visual studio code para un stack LAMP?
En mi empresa el departamento de arquitectura se encarga de construir el build, luego nosotros lo metemos en el docker. Ahí lo que estás haciendo es poner el build dentro del Dockerfile, no sé si eso es una buena práctica ...
Hola men, encuentro que tus explicaciones son espectaculares y das muy buenos tips. Actualmente aplicas hardenning a tus contenedores? Tienes tips para este metodo de confección de contenedores más "seguros"? Felicidades por tu canal, me unire a la comunidad slack.
Bueno y para los que recién empiezan, que se debe hacer después de tener listo el Dockerfile? Cómo lo uso ? Que comando o que pasos sigue para poder usar el Dockerfile?
Muy buenas, tengo una duda que he visto o que siempre me trae pensando, por qué se usa el COPY . /app y en docker-compose se le dice el volumen donde esta el proyecto, esto es así o son cosas diferentes , yo entiendo que al hacer ese COPY, todo mi proyecto se va a la imagen, eso es correcto??
Es como vos decis, se usa el copy para meter el codigo en la imagen, y esa imagen después la subís o corres en otro lado y va a tener el codigo adentro y corriendo. Pero para poder desarrollar localmente, usas el docker-compose con el volumen para "pisar" ese codigo, y poder cambiar los archivos adentro del contenedor sin tener que estar construyendo el contenedor cada vez que haces un cambio. Espero que se entienda, saludos
@@PeladoNerd Pero por ejemplo cuando se trabaja en equipos donde vamos subiendo código a un repositorio, entonces cada vez que se haga esa subida de código se tiene que regenerar la imagen, copiar el nuevo código descargado de la rama Master por ejemplo y generar el contenedor.?
@@ssheduardo Cuando haces la copia de tu codigo a la imagen (Dockerfile), esta se genera siempre con dicho codigo, si generas una nueva imagen , esta tendra el codigo que hayas actualizado. Aqui te va el tip para que los entiendas, cuando hace un "bind mount" en docker-compose, la información del mount sobrescribe a la información que se encuentra dentro del contenedor o en resumen, la información que existe en los volumenes de docker tiene mayor prioridad que la información que reside dentro de la imagen del contenedor. Por ello mientras actualices la informacion mediante un bind volume de docker-compose no tienes que generar una nueva imagen.
@@vibales ok lo entendí lo del bind mount, pero el escenario real de mucha gente trabajando y subiendo código al hacer push al repo, por debajo si existe un Ci como el de gitlab, ¿el proceso aquí cuál sería?, Yo entiendo como montarlo y trabajar en local, pero al quererlo subir al servidor y que se despliegue docker, cada vez que se hace push al repo, ahí como actúa ? Toca hacer copy en la imagen o hacer un bind mount.? Trabajo con Laravel framework, que bueno difiere un poco con el ejemplo del jar de Java.
@@ssheduardo buen día, lo que deberías tener para eso es un docker hub o repositorio de imágenes. El más conocido es el repositorio de docker hub donde se colocan las imágenes pública. Pero en el caso de desarrollar código para otros deberías utilizar un repositorio privado. En general las configuraciones de cloud lo que hacen es ejecutar la máquina host y traer la imagen que le pidas desde el repositorio pudiendo ser un repo público o uno privado. Hablando de AWS que es el cloud que mas conozco, tiene un repositorio privado donde después del proceso de CI/CD colocás tu imagen en el repositorio, y la configuración del nodo obtiene esa imagen para ejecutarla en el entorno que le digas. Resumiendo la secuencia sería, compilación, armado de imagen, subida a un repo de imágenes, inicio de un servidor, obtención de la imagen, ejecución de la imagen en docker. Espero que te sirva
e vivió engañado toda mi vida :( , bueno muchas gracias pelado. Pero me quede con la duda de conectar con una base de datos ya que siempre llego a una solución de docker network host, llege a pensar que ese era el camino adecuado. Alguna solución para ese problema ?
@@PeladoNerd claro que si. Pero me sale lo típico que no encuentra la base de datos. Intente cambiar la linea de conexión por el nombre del contenedor y nada. Utilizo spring y creo que por hay me enredo un poco. Se que no es la forma correcta de tener mis contenedores. pero funciona y cada día investigo. Pero ahora mismo estoy cambiando a buenas practicas mis contenedores y tratare de hacer una conexión mañana a una base de datos dentro de un contenedor Saludos desde Ecuador, soy muy fan de tus vídeos
TIP: puedes llamar de un contenedor A a un contenedor B usando su nombre de contenedor SIEMPRE Y CUANDO A y B se hayan definido en el mismo archivo docker-compose, si los tienes en distintos docker-compose tienes que conectarlos a través de una docker-network
MacOS.... mmmm uso quicktime y se me cae cada vez que respiro....en vez de usar linux con ffmpeg.... pero me gusta pagar más y comprar manzanas....IDIOT.... 😘😘
Hola sería genial un vídeo con un proyecto kubernetes con un proyecto MERN con los 3 ambientes desarrollo test y producción, puede ser una lista de reproducción
.NET 7 + NODEJS/REACTJS + MARIADB
Gracias, me divierto y aprendo, muchas gracias por tu tiempo y conocimientos.
Muy interesante, deberias hacer más videos de este tipo, donde poco a poco se va mejorando un código y explicando las mejoras. Buen trabajo!
Muchas gracias! Si, tengo un par de dias de estos videos menos avanzados
algo bacan q aprendi fue usar las imagenes alpine... en nodejs base de 900mb a 200 cambiando de node:14 a node:14-alpine
Hola master, quisiera agregar un tip adicional. Dentro de las buenas practicas al crear los Dockerfile es no ejecutar como usuario root, entonces es bueno definir un usuario distinto a root dentro del Dockerfile.
Hey, esto se habló en una charla que diste. Muy interesante, a favoritos.
Eh muy bueno! Y éste video me da bastante razón despues de una discusión que he tenido sobre el asunto.
Buen vídeo Pela, próximo vídeo ¨Seguridad en Docker¨....lo dejo ahí...Saludos!
cuantas cosas por mejorar en el Dockerfile! muy bueno
Cuando se disculpa del sonido y suena mejor que la realidad misma
Que bien que me viene éste video, justo me estoy leyendo el up & running de docker pero no se cuanto de mejores prácticas para escribir dockerfiles hay, hasta ahora poco.
Gracias!!
Muy muy chulo. Buen trabajo!
Hey Pelado que buen video, apenas he llegado a tu canal pero tu contenido es oro puro, saludos desde México che!
Buenísimo pero yo le meto un volumen con el repo de maven y así no se está descargando todo el tiempo. O al maven le meto una referencia a un repo corporativo
Bro saludos desde Ecuador 🇪🇨, tus videos son asombrosos, he aprendido muchísimo
Excelente video, sería genial hacer este mismo ejercicio para creación de imágenes de front como por ejemplo una imagen con react
muy buen video crack
Ese batch seria mucho mas inteligente que los que lo corren! Jajaja buen video!
Muchas veces lo urgente impide hacer lo importante entonces uno tira codigo sin importar las buenas costumbres =)
@Pelado tu has trabajado en mi proyecto seguro. Como sabias la integración que usamos????
Dale pelado, sos un capo.!
Otra mejora posible no sería usar ENTRYPOINT en lugar de CMD? Por qué crees que no lo hizo?
Buenísimo ! indispensable, como siempre gracias por compartir ! Ahora le echo un vistazo a lo de multi stage jaja
Otro video genial, muchas gracias pelado
Eres un crack peladito!!!
Rebien Pablo, muchas gracias
Muy buen, tenía muy Dockerfile así de spring boot, pero había muchas cosas que no sabía bien porque.
También tengo uno igual para angular, es el mismo concepto.
Pela, podes seguir el ejemplo con un docker compose y una base??
Gracias crack justo lo que buscaba!
Buen video como siempre gracias por compartir
¿Si yo quiero pasar unas variables de entorno concretas de mi WSL2 a la imagen que esté creando con el Dockerfile como lo haría?
Gracias pelado sos un capo, saludos desde Perú
Super off topic, pero esa musica de background no es la de Mass Effect?? O estoy escuchando audiciones?
Como se podría construir un dockerfile para un proyecto que usa m2? Debería ser multistage?
Buena remera Pelado!
Excelente, buenas praticas!!!
Joya de video
Como hago para no generar los None en las imagenes???? y volumens???. saludos excelente video!!!
Que buen video, la información precisa y bien explicado.
Hola pelado... gracias por otro buen video. Me preguntaba si te gustaría ayudarme a mejorar un docker-compose.yml integrado con Remote Development technology of visual studio code para un stack LAMP?
Genial muchas gracias!
Excelente, muy buen contenido en español.
Quien es el boludo que puso no me gusta? Muy buenos videos, este en particular es genial porque vamos paso a paso
En mi empresa el departamento de arquitectura se encarga de construir el build, luego nosotros lo metemos en el docker. Ahí lo que estás haciendo es poner el build dentro del Dockerfile, no sé si eso es una buena práctica ...
Hola men, encuentro que tus explicaciones son espectaculares y das muy buenos tips. Actualmente aplicas hardenning a tus contenedores? Tienes tips para este metodo de confección de contenedores más "seguros"? Felicidades por tu canal, me unire a la comunidad slack.
Hola gracias! Voy a tener en cuenta tu sugerencia y armar algo. Saludos!
Impresionante!!!
Bueno y para los que recién empiezan, que se debe hacer después de tener listo el Dockerfile? Cómo lo uso ? Que comando o que pasos sigue para poder usar el Dockerfile?
Fíjate el vídeo que hice que de llama "aprende Docker en 14 minutos". Después también hay una lista con muchos vídeos para que sigas aprendiendo
Muy bueno!
justo me lo recomienda 22 nov 2020
Wow impresionants tips.. thanks
Excelente video.
Una duda que me quedo, es que sucederia si no coloco el EXPOSE en mi Dockerfile?
Joder, casi te doy dislike por la pedazo de idea de los correos...jajaja! Genial Pelado.
Gracias parcero.
tengo que ver 25 veces tu video para entenderlo, pero bueno, ni modo
Muy buenas, tengo una duda que he visto o que siempre me trae pensando, por qué se usa el COPY . /app y en docker-compose se le dice el volumen donde esta el proyecto, esto es así o son cosas diferentes , yo entiendo que al hacer ese COPY, todo mi proyecto se va a la imagen, eso es correcto??
Es como vos decis, se usa el copy para meter el codigo en la imagen, y esa imagen después la subís o corres en otro lado y va a tener el codigo adentro y corriendo. Pero para poder desarrollar localmente, usas el docker-compose con el volumen para "pisar" ese codigo, y poder cambiar los archivos adentro del contenedor sin tener que estar construyendo el contenedor cada vez que haces un cambio. Espero que se entienda, saludos
@@PeladoNerd Pero por ejemplo cuando se trabaja en equipos donde vamos subiendo código a un repositorio, entonces cada vez que se haga esa subida de código se tiene que regenerar la imagen, copiar el nuevo código descargado de la rama Master por ejemplo y generar el contenedor.?
@@ssheduardo Cuando haces la copia de tu codigo a la imagen (Dockerfile), esta se genera siempre con dicho codigo, si generas una nueva imagen , esta tendra el codigo que hayas actualizado. Aqui te va el tip para que los entiendas, cuando hace un "bind mount" en docker-compose, la información del mount sobrescribe a la información que se encuentra dentro del contenedor o en resumen, la información que existe en los volumenes de docker tiene mayor prioridad que la información que reside dentro de la imagen del contenedor. Por ello mientras actualices la informacion mediante un bind volume de docker-compose no tienes que generar una nueva imagen.
@@vibales ok lo entendí lo del bind mount, pero el escenario real de mucha gente trabajando y subiendo código al hacer push al repo, por debajo si existe un Ci como el de gitlab, ¿el proceso aquí cuál sería?, Yo entiendo como montarlo y trabajar en local, pero al quererlo subir al servidor y que se despliegue docker, cada vez que se hace push al repo, ahí como actúa ? Toca hacer copy en la imagen o hacer un bind mount.? Trabajo con Laravel framework, que bueno difiere un poco con el ejemplo del jar de Java.
@@ssheduardo buen día, lo que deberías tener para eso es un docker hub o repositorio de imágenes. El más conocido es el repositorio de docker hub donde se colocan las imágenes pública. Pero en el caso de desarrollar código para otros deberías utilizar un repositorio privado. En general las configuraciones de cloud lo que hacen es ejecutar la máquina host y traer la imagen que le pidas desde el repositorio pudiendo ser un repo público o uno privado. Hablando de AWS que es el cloud que mas conozco, tiene un repositorio privado donde después del proceso de CI/CD colocás tu imagen en el repositorio, y la configuración del nodo obtiene esa imagen para ejecutarla en el entorno que le digas.
Resumiendo la secuencia sería, compilación, armado de imagen, subida a un repo de imágenes, inicio de un servidor, obtención de la imagen, ejecución de la imagen en docker. Espero que te sirva
/var/mail/{usuario} hay que mirar para ver el mail pelado
Faltó el .dockerignore para que sea inmune a los cambios de contexto.
Gran video, sr el sombrero es el oficial de Red Hat?
Ese me lo dieron en la Kubecon Europa: th-cam.com/video/l3pSu8VZZE8/w-d-xo.html
Dale "no me gusta" si después de ver este video invocaste un demonio por estar diciendo "barra bin, barra bash, barra app, barra run"
e vivió engañado toda mi vida :( , bueno muchas gracias pelado. Pero me quede con la duda de conectar con una base de datos ya que siempre llego a una solución de docker network host, llege a pensar que ese era el camino adecuado. Alguna solución para ese problema ?
has probado con docker-compose?
@@PeladoNerd claro que si. Pero me sale lo típico que no encuentra la base de datos. Intente cambiar la linea de conexión por el nombre del contenedor y nada.
Utilizo spring y creo que por hay me enredo un poco.
Se que no es la forma correcta de tener mis contenedores. pero funciona y cada día investigo. Pero ahora mismo estoy cambiando a buenas practicas mis contenedores y tratare de hacer una conexión mañana a una base de datos dentro de un contenedor
Saludos desde Ecuador, soy muy fan de tus vídeos
@@Delchoclo Probaste poniendo en el host de la base el nombre de la servicio?
TIP: puedes llamar de un contenedor A a un contenedor B usando su nombre de contenedor SIEMPRE Y CUANDO A y B se hayan definido en el mismo archivo docker-compose, si los tienes en distintos docker-compose tienes que conectarlos a través de una docker-network
jajajajajajaja el chiste de emacs estuvo GENIAL jajajaja
peor aun... hay gente que instala mc en los server... MC! (morton-comander?) jajaja
Yo siguiendo todo, y cada slide nuevo borra todo ajajajaj
👏👏👏
No me gustó complicar en la misma máquina . He visto compilaciones bien lentas.
sep !!! XD
BatX!
Con paiton hubiera sido mejor >.
le di a dislike, tengo un script en batch XD
MacOS.... mmmm uso quicktime y se me cae cada vez que respiro....en vez de usar linux con ffmpeg.... pero me gusta pagar más y comprar manzanas....IDIOT.... 😘😘
porque usas tatuajes, eres maliante o criminal ?
sip