edición general
350 meneos
7317 clics
Entendiendo qué son los contenedores y por qué es una de las mayores revoluciones de la industria del desarrollo

Entendiendo qué son los contenedores y por qué es una de las mayores revoluciones de la industria del desarrollo

Google, Microsoft, Amazon, Oracle, WMware, IBM, RedHat están apostando fuertemente por estas tecnologías, ofreciendo todo tipo de servicios a los desarrolladores en la nube. Hoy por hoy todo va encaminado a ser dockerizado, como popularmente se refiere en castellano al hecho de empaquetar una aplicación software para ser distribuida y ejecutada mediante el uso de esos contenedores software.

| etiquetas: docker , kubernetes , contenedores , openshift , microservicios , borg
12»
  1. #165 para coste el que vas a tener si tienes todo metido en una sola máquina y se te cuelga. O peor: si hay algún problema grave y tienes que reinstalarla. Verás que risa te va a dar.

    Créeme, la solución que propones no la utiliza nadie a nivel profesional a día de hoy. La tolerancia a fallos y la escalabilidad son claves.
  2. #1 docker mola
  3. #8 ¿un infierno instalar el qué exactamente?
  4. #16 Kubernetes es infernal para administrar, tiene una curva de aprendizaje horrorosa y necesita personal con un alto nivel de cualificación para mantenerlo, además de soporte. Es un producto amplísimo y potentísimo y, obviamente, no va a ser sencillo. Sin embargo, es imprescindible si quieres utilizar Docker a lo grande.
  5. #51 ¿por qué?
  6. #63 no entiendo bien el problema. ¿Es que quieres hacer pull de una imagen y no la encuentras?
  7. #66 no sé dónde he dicho que sea fácil.

    No entiendo el problema que describes; pero parece de la imagen, no de Docker.
  8. #73 pues echa la peta a tus compañeros los que construyen mal las imágenes. :-D
  9. #78 entonces la culpa es de Microsoft, que no construye bien sus imágenes; pero no de Docker o de los contenedores. Es como decir que los ordenadores son una mierda porque Windows Vista se cuelga.

    Docker no es nada complejo, salvo obviamente que tus imágenes estén mal construidas o no hagas las cosas bien. Kubernetes, como digo en #55, es otra historia. Eso sí es complejo, y mucho.
  10. #105 no. CoreOS es el sistema operativo y los contenedores van por encima. CoreOS puede instalarse en cualquier máquina, sea virtual o en hierrajo. :-D
  11. #82 es que un contenedor es un chroot, pero mucho más sofisticado.

    Sí, sé que esta explicación no es rigurosa, pero ayuda a entender lo que es un contenedor para los que no saben.
  12. #84 ya te ha contestado muy bien #117, pero no puedo resistirme a comentar que la comparación con las tarjetas perforadas es de juzgado de guardia, con todo el respeto.
  13. #85 ¿por qué tiene tan mala calidad?
  14. #96 ¿de verdad te resulta más fácil estar configurando cgroups a mano que utilizar Docker?
  15. #127 pues más actual que la línea de comandos para entornos profesionales y tareas avanzadas no hay nada.
  16. #3 tengo curiosidad. ¿Podrías desarrollar ese argumento? :-)
  17. #27 Esa es una de las claves del éxito de sitios como Reddit u otras redes sociales. Todo tiene cabida. Si a uno no le gusta es posible que a otro sí.
  18. #5 Ya te lo digo yo: Un infierno instalar nada. Todo por linea de comando, powershell, que si esta dependencia no venia en ninguna parte, a ver, que busque en google... ah, que tengo que darme noseque permiso... a ver...

    Y todo asi.

    Se corre algo en linea de comando que no ves bien que, asumes que esta arrancado porque dice que asi lo esta.

    No se, a mi parecer le falta interfaz grafica, que sea sencillo, se nota que viene del mundo gnu y te toca picar mierdas para arrancar un cochino contenedor.
    Sera la falta de costumbre y estar acostumbrado a las VM.
  19. #62 no, no sé si tú miras de vez en cuando la cola de noticias, pero hay una cantidad de mierda increíble.

    cc #59
  20. #79 habrá quien use mal los votos, pero hay mucho spam/sensacionalismo. No es cosa de interesante o no. A mí las cosas que no me interesan paso de ellas, no las voto.
  21. #158 puedes revisar mis votos negativos a noticias. Seguramente encuentres alguna con la que no estés de acuerdo. Si es así, enseñámela y te cuento porque voté negativo. Un saludo.
  22. #158 por ejemplo: www.meneame.net/story/misterio-mariano-ondas-radio-maria-escucha-donde es cansina. El tema es interesante, pero ya ha salido muchas veces.
  23. #158 otro ejemplo que lamentablemente ha llegado a portada: www.meneame.net/story/leticia-sabater-entra-virus-ordenador
  24. #62 yo soy blogger, a mí el karma ya me da igual. Yo lo que siempre he querido es subir el nivel de calidad y corregir faltas de ortografía. Y sí, he patrullado la cola para tirar noticias basura. Y así he ido subiendo karma. Pero lo que realmente sube karma es comentar y publicar cosas. Y después de tener el modo de edición me dieron el modo blogger, es decir que puedo tener 6 de karma pero seguir corrigiendo los envíos, así que a mí ya me da igual el karma, pero sigo votando negativo las noticias sensacionalistas, spam o basura, sean a favor o en contra de mi tendencia política o ideológica. Por ejemplo, la basura de Inda da igual que sea (excepcionalmente) contra el pp, sigue siendo basura.

    Pero como me da igual el karma pues tampoco tengo tanta influencia que cuando conseguí 20 de karma.
  25. #174 sí, esos son buenos ejemplos. Yo no voto negativo a noticias así porque aunque no esté de acuerdo con el contenido no violan las normas de menéame.

    Pero yo contestaba a una frase que decía "los votos negativos son inútiles". Y yo digo. "no es cierto".

    La frase no decía "hay gente que usa mal los votos", porque yo ante eso digo "es verdad".

    Un saludo
  26. #116 por eso hay tantas noticias antiguas, duplicadas, etc...
    Un sub serio como Syrian Civil War ganaría mucho con el sistema de votos de meneame.
  27. #71 ¿qué es cgroups, namespace o contenedores sidecar?
    Asumo que cgroups es algún tipo de sistema de permisos, namespace es tener la configuración en $PATH diferentes y sidecar es poder encender varios programas interdependientes a la vez. ¿He acertado algo?
  28. #24 Docker para windows viene con su kernel Linux y te deja elegir ejecutar contenedores para Windows o Linux en la configuración. Yo lo uso bastante cuando tengo que enseñar a pobres incautos que se adentran en este mundo.
  29. #39 Yo he detectado lo mismo. No veo necesidad alguna de una UI par docker y demás. Y ojo, no los uso casi (excepto para un Solr) ahora mismo porque trabajo en un solo producto y lo tengo todo instalado en nativo pero es que una UI... pa' qué!
  30. #40 "una mente mínimamente innovadora", claro que las interfaces graficas son un atraso, la linea de comandos es lo moderno, total trendy.

    Ya veras cuando te unas a los mas cool's y modernos de nuestro exclusivo club de las tarjetas perforadas, esto es el futuro.

    :-D

    PD. Estoy con Femen, un USUARIO de contenedores no tendria que sufrir para usarlo.
  31. #8 se nota que viene del mundo gnu :-D un mundo que por lo que cuentas te resulta complicado o no deseable. Desconozco si por algo más que por tener que ejecutar órdenes en un terminal de texto, espero que si, porque si es solo por eso suena infantil de narices!!
  32. #79 Amén.
  33. #39 Me gustaría veros manejando git sin ninguna interfaz que os ayudara, en linea de comandos, teniendo que escribir a mano los hash y tal...
  34. #106 de troll habla alguien que tiene apenas 6 de karma jajaja
  35. #135 bueno, mientras otros sistemas operativos no den soporte. Es una cucada a nivel de kernel que tarde o temprano el resto implementará
  36. Muy instructivo, me ha aclarado bastante el tema.
    Y es que es dificil mantenerse al dia en ésto de la informática (ahhh que tiempos los del COBOL y el BASIC ;) )
  37. #43 ¿Qué recomiendas para ese tipo de casos?
  38. #45 si, bueno, mezclas dos temas. Vamos a aclararlo un poco.
    1. Encapsular la basura vieja.
    2. Deploy de la aplicación en entorno cloud.

    1. Ahora la mierda que hizo el gran gurú y nadie entiende está ahí, contenido, cual leon en una jaula.
    2. La cantidad de recursos que se come ese leon están bajo control gracias a la capa de facilidad de uso que le meten al cgroups.

    Un abrazo a todos los sufridores de código ajeno.
  39. #12 traducción: "hola, soy un trol sin ningun tipo de cultura ni complejo y vengo a trolear, trololololololo :shit: :shit: :shit: :shit: "
  40. #92
    > Hay que estudiar para arrancar un cochino contender y entender que pasa.
    Evidentemente, en una tecnología de este tipo se presupone un conocimiento básico de POSIX. Y te ocurre exactamente lo mismo con Windows.

    Hace años me puse a mirar como funcionaba directInput en directX 8 (ya había salido directX 10 u 11 pero para un tema de force feedback, era para un volante así que lo que había de Xinput no me valía, o no supe encontrar nada válido). El caso es que lo dejé por imposible, al empezar a pegarme con COM. Y para cualquier programador de windows será un tema de IPC normalito, pero para mi era un mundo.

    Es responsabilidad del desarrollador aprender la plataforma sobre la que desarrolla.
  41. #73 si y no ... El el cloud pass igual, en aws por ejemplo te puedes morir al principio simplemente para configurar una VPC... Y luego te das cuenta que es de lo mejor que te ha pasado en tu vida profesional... Poco a poco, yo con docker no me llevo, igual que no me llevo con powershell pero adoro bash. Hay documentación a patadas y precisamente esas guías fallan a veces por lo mismo que docker tiene una razón de ser... Dependencias. Tú tienes Windows 10 en la versión tal y el de la guía Windows 10 en versión pascual y ya algo no se comporta igual. Con docker eso no pasa, la aplicación y lo que necesita está contenido en la imagen. La corras aquí o en la china popular funcionará igual.
  42. #55 ¿Y si no, qué usar? Me refiero si no vas a lo grande. ¿Swarm? ¿Docker compose en producción?
  43. #112 Un dockerfile son las instrucciones para construir una imagen: bájate esta imagen, copia esto por aquí, compila esto por allá, etc etc y cuando me mandes arrancar ejecuta este comando con tales parámetros. Docker interpreta esas instrucciones y crea la imagen en el servidor con una versión que le indiques. A partir de ahí puedes ejecutarla en el propio servidor o hacer push a un registro para distribuirla o desplegarla en otros servidores.
  44. #166 Me estoy planteando algo así para algunos proyectos, con algún proveedor europeo, como OVH, u otro como Ionos.
  45. #44 Tienes razón. Si que tienen utilidad. Tirar noticias que no son de "mi cuerda" y conseguir karma tirando noticias. Todo a costa de la calidad de información que ofrece la portada. xD
  46. #130 pues tienes bastantes soluciones sin tirar de containers y que hace unos años se usaban igual. Ejemplo un clásico, el chroot. Luego puedes ir viendo si realmente necesitas esos servicios e ir cortándoles por /proc . Vamos que hay soluciones, lo único que ir a lo fácil y no digo del todo que este mal es ir a containers. Lo único que es como todo, usarlos para realmente lo que necesites y no para todo.
  47. #44 y aquí tienes un voto negativo para darte la razón
  48. #56 Que diferencia hay entre esto y un ejecutable .exe?
  49. #65 Que me dice que mi imagen es vieja. hago pull, vuelvo a intentar, nada, sigue siendo vieja.
    Meto el comando docker accept_outdated, nada.

    Y esto lo llamais facil y para toda la familia. Claro. En una consola de powershell ahi, y tirando de foros.
  50. #72 #70

    Es que otros usuarios me han puesto de tonto para arriba diciendo que ni me molesto, cosa que he hecho cuando me ha tocado integrar con otros sistemas cosas. Ahora, que desde el punto de vista de un programador, tener que perder el tiempo para arrancar una mierda de imagen, me toca los cojones.

    Me he ido a ver donde estan las imagenes, pues solo veo una carpeta llena de subcarpetas que se supone que osn las imagenes (C:ProgramDataDockerwindowsfilter) Y esto via respuesta de google de un foro de dios es cristo.

    Asi no se puede andar.
  51. #74 El tema esta que yo no quiero ser experto en contendores, cada cual a lo que sabe. A mi con entender basicos y que arranque me vale. Pero es que ni eso es facil. es el tema.
  52. #60 Windows es tu problema, que todo lo que no sea con interfaz gráfica es un infierno.
  53. ¿Se podría usar Docker para el típico alojamiento LAMP compartido y así hacer como una especie de chroot por cada usuario? Porque el problema de los chroots siempre me ha parecido que es crear dentro del chroot la copia de todas las librerías que necesitas, mientras que parece que en Docker esta automatización está más resuelta y es fácil de hacer.
  54. #83 Lo copié de un foro, no sabia que era case sensitive. Puse solo el mensaje como dice, nada, en un foro le metian el -env por delante.

    Y todo esto para arrancar un cochino contenedor. OK.
  55. #91 No hombre, es que tu mismo confirmas lo que digo: Hay que estudiar para arrancar un cochino contender y entender que pasa. No hablo de montar una infraestructura de su puta madre, sino correr algo bajado de un repositorio de MS.

    Cualquier dia empezamos todos a hacer apt-get en windows, ya lo veras.
  56. #27 Cuida que por decir eso lo mejor que te puede pasar es que te manden a mediatize
  57. #71 otra ventaja (o no, depende desde qué lado lo mires) es que si vendes una aplicación que se despliega en containers sabes que te van a contratar servicios profesionales sí o sí :troll:
  58. #114 buf, es que no soy admin de sistemas y hasta ahora ms no te obligaba a bajarte imagenes de docker
  59. #125 Hombre , era ironico, en respuesta al que indicaba que la linea de comandos es lo actual y la tendencia.
  60. Se les ha olvidad comentar que necesita un kernel de Linux así que si lo usas en entorno Windows, necesitarás habilitar el Hyprv para instalar el Kernel de Windows. Para mí es una evolución de máquina virtual.

    Docker container run!
  61. Amo docker {0x1f60d}
  62. #60 Yo te diría que le dieras otra oportunidad. Tanto para sistemas como para desarrollo las facilidades que da son enormes mediante la automatización. Es cierto que requiere scripts y comandos en CLI, pero una vez que tienes un modelo base, ya es replicarlo N veces y portarlo donde quieras sin tener que hacer adaptaciones. Si como dices llevas décadas programando te insisto en que vuelvas a probarlo, de lo contrario tu currículum podría quedar cojo.
  63. #82 Ese es un tipo de aplicaciones básicas de docker. De hecho en hub.docker.com vas a encontrar muchos containers LAMP preparados.

    Lo único que deberás tener en cuenta será el networking, si lo vas a hacer con mucho usuarios mantener el mapeo de los puertos a los contenedores te puede costar un poco.
  64. #86
    > Y todo esto para arrancar un cochino contenedor. OK.
    Siento las malas formas, pero si no entiendes exactamente el concepto de variable de entorno y como se heredan entre procesos, no es culpa de docker, es tu culpa tuya.

    No se cuantos años llevan existiendo las variables de entorno pero tienen bastantes más años que yo y son un concepto fundamental, tanto en los derivados de Unix como en Windows.
  65. #82 es mas facil con un fpm y cgroups. Para mi un hosting de varios sites, cada uno en un contenedor, es matar moscas a cañonazos.
  66. #87 matar moscas a cañonazos {0x1f44d} {0x1f44d} {0x1f44d}
  67. #29 enhorabuena!!!!
  68. #19 si no entiendes docker a la primera es que no es para ti. El resto es calzador de los adictos a las nuevas tecnologias.
    He visto contenedores con multiaplicaciones en go, python, perl y bash... eso no debería ir contenido a no ser que se quiera aislar cual apestado intocable.
  69. #53 osea, la VM es el propio contenedor. Interesante. Excelente para algunos temas, pero temible para aquellos que lo meten todo bajo el mismo saco. Ahí cuidao!
  70. #99 gracias, simpático
  71. #30 #22 O sea, que si lo he entendido bien un dockerfile es como un war y un docker engine como una JVM, pero usando cualquier lenguaje de programación, ¿es así?
  72. #128 no es una cuestión de fácil o dificil. Es una cuestión de recursos, un VM con cgroups bien configurados siempre sera mas optima que varios cientos de contenedores cargando en memoria lo mismo reiteradamente.
    Los recursos configurados con docker son tan sencillos como con systemD, por ejemplo.
    Si eso no te importa explicame en que contexto te mueves, porque cada casa en un mundo oye.
  73. #119 has nombrado al innombrable. Si tienes que dar permisos de sistema no hay más, o una buena jail o un buen contenedor.
  74. #14 y sólo funciona en Linux :-D
  75. #126 pues aún no he terminado de leerlo y ya veo esto: "una máquina virtual, al tener que emular todo un sistema operativo" no habla con propiedad, virtualizar no es lo mismo que emular no es lo mismo que "containerizar"
  76. #126 también da a entender que si usas docker tu aplicación ya escala horizontalmente, cuando esto es falso, la aplicación debe estar diseñada para escalar de esa forma en primer lugar.
  77. #142 el chico pregunta por alojar varias páginas con un LAMP, un contenedor para cada página es absurdo.
    No comparo nada, digo que una solución es más optima que otra.
    No vengo a discutir.
  78. #151 no hombre. Lo que digo que una VM con php-fpm y cgroups es mas optimo que varios contenedores, uno por site.
  79. #154 arjjj!!! pues va a depender del consumo que tengan!! Si es que la palabra "contexto" está sobrevalorada.
  80. #157 analizando costes/beneficio, si.
  81. #136 Docker Swarm tiene sus usos, yo no lo descartaría. Lo usé en mi anterior empresa en un centro de datos privado con 11 servidores físicos y fue muy bien.
  82. #169 si y no. Lo que propones implica extraer los datos dinámicos fuera del contenedor, eso ya duplica el numero de contenedores, por lo que el numero de recursos aumenta de la misma forma que lo haría un sistema a prueba de errores de un sistema VM.
    Está claro que crees que el presente es puramente contenedor, pero eso te aleja de la realidad. Que empresas van a costear ahora mismo un sistema redundado sea cual sea su base? Acaso la web de una pyme requiere una cantidad elevada de computación y datos? La respuesta varía dependiendo de la pyme, claro, pero ya te digo que para abaratar costos y ofrecer un servicio básico y económico no te hace falta un sistema excesivamente complejo.
    Pues volvemos al punto donde te he puesto el contexto. Va a depender del volumen de consumo que tenga la web.
    Si hablamos de aplicaciones la cosa cambia y es indiscutible la necesidad de un sistema mas complejo, y por ende mejor de hacer con contenedores.
    Saludos.
  83. #185 {0x1f44f} {0x1f44f} {0x1f44f} lo que tu digas.
  84. #1 Solo he tenido que leer los dos primeros párrafos para saber que el artículo es una basura (que desinforma más que otra cosa), así que no me extraña que se esté votando errónea.
  85. #7 Ya ha llegó el trollaso xD
12»
comentarios cerrados

menéame