No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Docker

Curso de Docker

Guido Vilari帽o

Guido Vilari帽o

Conceptos fundamentales de Docker: contenedores

8/32
Recursos

Aportes 56

Preguntas 5

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Que es un contenedor ?

  • Es una agrupaci贸n de procesos.

  • Es una entidad l贸gica, no tiene el limite estricto de las m谩quinas virtuales, emulaci贸n del sistema operativo simulado por otra m谩s abajo.

  • Ejecuta sus procesos de forma nativa.

  • Los procesos que se ejecutan adentro de los contenedores ven su universo como el contenedor lo define, no pueden ver mas all谩 del contenedor, a pesar de estar corriendo en una maquina m谩s grande.

  • No tienen forma de consumir m谩s recursos que los que se les permite. Si esta restringido en memoria ram por ejemplo, es la 煤nica que pueden usar.

  • A fines pr谩cticos los podemos imaginar c贸mo maquinas virtuales, pero NO lo son. M谩quinas virtuales livianas.

  • Docker corre de forma nativa solo en Linux.

  • Sector del disco: Cuando un contenedor es ejecutado, el daemon de docker le dice, a partir de ac谩 para arriba este disco es tuyo, pero no puedes subir mas arriba.

  • Docker hace que los procesos adentro de un contenedor este aislados del resto del sistema, no le permite ver m谩s all谩.

  • Cada contenedor tiene un ID 煤nico, tambi茅n tiene un nombre.

鈥淯n contenedor es truman viviendo en su show y el mundo real es la maquina virtual pero el mundo real es un contenedor del universo y el universo es un contenedor de QUE鈥

Para limitar los recursos que un contenedor usa, lo podemos hacer desde su creacion (cuando corremos el comando docker run) usando flags de:
Runtime constraints on resources
Y se veria algo asi:

docker run --memory="100m" --cpus=0.5 <image>

pueden checar todos los constraints aqui:
https://docs.docker.com/engine/reference/run/#runtime-constraints-on-resources

El contenedor es como 鈥淭ruman Show鈥濃 mejor explicado que esto no se puede jajaja

Creo que es bueno tener en cuenta que hay algunas caracter铆sticas del anfitri贸n que afectan dir茅ctamente a los contenedores, m谩s all谩 de la transversalidad de Docker. Por ejemplo, ** la arquitectura del procesador de la m谩quina anfitriona, tiene un impacto directo en las im谩genes que podemos usar para nuestros contenedores.**
En mi caso, curioseando con Docker en una Raspberry pi, me di cuenta que s贸lo puedo usar imagenes que tengan una versi贸n para arquitectura ARM, de lo contrario, no es posible usar la imaage.

<h1>驴Qu茅 es Docker?</h1>

Docker es un software que nos ayuda en el proceso del desarrollo de software, solucionado problemas en diferentes aspectos como lo son la construcci贸n, distribuci贸n y ejecuci贸n mediante el concepto de contenedores

馃惖Dato curioso: Docker esta escrito en Go

Contenedores馃殺

Un contenedor la unidad logica mas importande de docker que permite encapsular las dependencias de un proyecto en un entorno aislado, con esto puedes conseguir resolver el problema de 鈥淏ut it works in my machine鈥 ya que te permite crear una especie de maquina virtual y pas谩rsela a tus compa帽eros o colocarlo en un servidor para el despliegue de manera f谩cil.

隆鉁婣lerta! Puedes ver a un contendor como una maquina virtual pero eso no significa que lo sea, una maquina virtual puede llegar a se muy similar debido a sus funcionalidades como el aislamiento de procesos.

Entonces鈥 驴cu谩l es el beneficio de usar contenedores en lugar de maquinas virtuales?

El mayor beneficio es que los contenedores de Docker est谩n en el nivel de los MB eso nos da ventajas en el consumo de recursos, ya que estos corren compartiendo el host del kernel de Linux, por otro lado las maquinas virtuales son un sistema operativo(O.S) con sus propias apps que corre sobre el tuyo usando virtualizacion y que consume muchos recursos en el nivel de los GB. Una mejor forma de ver esto es observando la arquitectura de los contendores y de las maquinas virtuales

Containers Vs Maquinas virtuales

Muchos cometen el error de decir que es una m谩quina virtual liviana, y no es el caso, una VM emula el hardware y cada sistema operativo corre su propio kernel, y tiene su espacio de procesos.

En el contenedor, corre como un grupo de procesos aislado pero en el mismo kernel del sistema anfitri贸n, es m谩s como una jaula.

No se trata de ser purista sino de ser m谩s preciso y entender a mayor profundidad las cosas.

Explicaci贸n de IBM de las diferencias entre VMs y Containers

Desmitificando los contenedores, parte 1

Entonces el concepto de 鈥渕谩quina virtual鈥 solo lo usamos para describir qu茅 es Docker sin tanto problema, pero realmente no es una m谩quina virtual, sino servicios que limitan al contenedor 馃
.
Lo que me causa ruido es el hecho de tener que especificarle los recursos m谩ximos que puede consumir, es decir yo preferir铆a que fuera tipo: 鈥淐onsume lo que necesites consumir鈥 馃

Dross

馃摝 Conceptos fundamentales de Docker: contenedores

Apuntes

  • El concepto de contenedor es uno de los m谩s importantes en el mundo de Docker
  • El contenedor ser谩 el lugar donde se correr谩n nuestras aplicaciones
  • Un contenedor se podr铆a entender como una m谩quina virtual liviana
    • Una m谩quina virtual es un programa que corre en una m谩quina, pero tiene un sistema operativo, propia memoria, interfaces de red, etc. Es decir, que todo lo que tiene una computadora es virtualizado.
  • Un contenedor es una agrupaci贸n de procesos que corren nativamente en la m谩quina, pero est谩n aislados del resto del sistema
  • Un contenedor es una unidad l贸gica, no como una m谩quina virtual, que es una agrupaci贸n f铆sica aunque virtualizada que tiene abstracciones de memoria, CPU, etc.
  • Al ser una agrupaci贸n l贸gica puede correr de manera nativa en la m谩quina anfitriona
    • Dicha agrupaci贸n est谩 limitada a que cosas acceder y ver de la m谩quina anfitriona
  • Lo que corre adentro de un contenedor, realmente cree que est谩 en la m谩quina virtual, representada por el contenedor.
    • Es decir que no puede ver m谩s all谩 de lo que permitamos
馃搶 **RESUMEN:** A fines pr谩cticos, un contenedor es como una m谩quina virtual, para el software que deseemos correr. Lo que caracteriza a un contenedor es que se hace sencillo definir los alcances que tendr谩 cada contenedor, es liviano y corre de manera nativa.

驴Qu茅 es un contenedor?

  • Es una agrupaci贸n de n procesos que corren de forma nativa en la maquina, peor est谩n aislados del resto del sistema. El contenedor es una unidad l贸gica, no como la maquina virtual es que es una agrupaci贸n fisica y virtualizada, que tiene las abstracciones de memoria, cpu, etc.

Una nueva forma de ver de Truman Show.

docker everywhere

驴Se podria decir que Docker son procesos independientes que se apoyan de nuestra PC para ejecutar aplicaciones que necesitemos?

8. Conceptos fundamentales de Docker: contenedores
驴Qu茅 es un contenedor?
Un contenedor es una instancia ejecutable de una imagen. Puede crear, iniciar, detener, mover o eliminar un contenedor mediante la API o la CLI de Docker. Puede conectar un contenedor a una o m谩s redes, adjuntarle almacenamiento o incluso crear una nueva imagen basada en su estado actual.
De forma predeterminada, un contenedor est谩 relativamente bien aislado de otros contenedores y de su m谩quina host. Puede controlar qu茅 tan aislados est谩n la red, el almacenamiento u otros subsistemas subyacentes de un contenedor de otros contenedores o de la m谩quina host.
Un contenedor se define por su imagen, as铆 como por las opciones de configuraci贸n que le proporcione al crearlo o iniciarlo. Cuando se quita un contenedor, cualquier cambio en su estado que no est茅 almacenado en el almacenamiento persistente desaparece.
Referencia:
https://docs.docker.com/get-started/overview/
Caracter铆sticas de unos contendores

  • Los contenedores: son una agrupaci贸n de procesos que se encuentran dentro de una entidad l贸gica.
  • Los contenedores est谩n aislados, y tienen recursos limitados.
  • Los contenedores ejecutan procesos de forma nativa en linux.
  • Los contenedores se pueden ver como m谩quinas virtuales livianas y aisladas.
  • Cada contenedor tiene un ID 煤nico, tambi茅n tiene un nombre
  • Un contenedor es una agrupaci贸n de procesos, entidad l贸gica.
  • Los procesos que se ejecutan en los contenedores s贸lo tienen rango de acci贸n dentro del espacio del contenedor que se ejecutan.
  • Los contenedores son vers谩tiles, ya que son ligeras y contienen todas las dependencias para su ejecuci贸n, garantizando su ejecuci贸n en todos lados.
  • Los contenedores son m谩s eficientes, ya que comparten los archivos del sistema base con otros contenedores de manera inmutable. No ejecutan todo el OS, sino s贸lo procesos.

Chicos aqu铆 el paso a paso para nosotros los usuarios de Linux para configurar nuestro usuario, y ejecutar docker run sin la necesidad de usar sudo

Post-installation steps for Linux

Importante, tener la virtualizaci贸n activa en la BIOS

Contenedor:
A diferencia de una m谩quina virtual que proporciona virtualizaci贸n de hardware, un contenedor proporciona virtualizaci贸n ligera a nivel de sistema operativo mediante la abstracci贸n del 鈥渆spacio del usuario鈥. Los contenedores comparten el n煤cleo del sistema host con otros contenedores. Un contenedor, que se ejecuta en el sistema operativo host, es una unidad de software est谩ndar que empaqueta c贸digo y todas sus dependencias, para que las aplicaciones se puedan ejecutar de forma r谩pida y fiable de un entorno a otro. Los contenedores no son persistentes y se activan desde im谩genes.

Caracter铆sticas de un contenedor

El concepto m谩s importante de Docker porque en ellos correr谩 nuestras aplicaciones.

  • Se pueden comparar con una MV.
  • Un contenedor es una unidad l贸gica y a su vez una agrupaci贸n de ps que corren en la m谩quina pero aislados del sistema y bajo las especificaciones que le indiquemos.
  • Usa el mismo SO de la m谩quina anfitriona, el mismo Kernel y los mismo recursos limitados por el usuario.

en resumen un contenedor es como una maquina virtual liviana corren nativamente y lo puedes poner limitaciones por ejemplo tienes una pc con 8 ram y a un contenedor le das 2 gb de ram a otro contenedor le brindas 4 gb de ram

No me la conteiner!

Buena referencia la The Truman Show, con esto no lo olvidar茅.

Que es un contenedor?

Un contenedor es como una maquina virtual liviana. Un contenedor es una agrupaci贸n l贸gica, y puede correr de manera nativa en la maquina anfitriona. Se pueden limitar los recursos que puede usar de una manera sencilla.

El contenedor es el concepto m谩s importante que existe en el mundo de Docker
El contenedor es donde van a correr y se van a ejecutar nuestras aplicaciones. Es la forma en que vamos a correr software gracias a Docker. Sin contenedores no habr铆a nada

Ques es un container

  • Un contenedor es un conjunto de procesos que corren nativamente en la m谩quina, pero que est谩n aislados del resto del sistema.
  • Un contenedor es una unidad l贸gica.
  • Dicho container est谩 limitado en cuanto a qu茅 cosas puede ver o acceder de la m谩quina anfitriona

En s铆ntesis, un contenedor es como una maquina virtual.

Un contenedor es una maquina virtual ligera.

interesante!

Un contenedor es una maquina virtual fitness.

cuando te refieres a que esta ejecutando de manera nativa y que est谩n usando el mismo kernel me parece raro, 贸sea en un windows un contendor linux trabajar铆a de manera distinta ?

Un contenedor es entonces una agrupaci贸n l贸gica ligera que se ejecuta de forma nativa en una m谩quina hu茅sped y que esta limitada en recursos y accesos.

CONCEPTS FUNDAMENTAL OF DCOKER: CONTEINERS

Los contenedores es el concepto mas importante de docker ya que es donde nuestras aplicaciones van a estar ejecut谩ndose.

Un contenedor es como una maquina virtual liviana que no pesa tanto, que es mas 谩gil y que va mas rapido. Pero que nos ofrece casi lo mismo que una maquina virtual.

Un contenedor es una agrupaci贸n de procesos que corren nativamente en la maquina pero estan aislados del resto del sistema.

Un contenedor es una unidad l贸gica no como una maquina virtual que es una agrupaci贸n fisica que tiene las abstracciones, no los contenedores simplemente agrupaci贸n logica y por eso puede correr de manera nativa en la maquina anfitriona.

Eso contenedor o agrupaci贸n l贸gica esta limitada en cuanto a que cosas puede ver o acceder de la computadora anfitriona , es decir puede correr otro programa de la maquina anfitriona pero solamente deacuerdo a las limitaciones que le pongamos.

  • No tienen forma de consumir m谩s recursos que los que se les permite. Si esta restringido en memoria ram por ejemplo, es la 煤nica que pueden usar.
  • A fines pr谩cticos los podemos imaginar c贸mo maquinas virtuales, pero NO lo son. M谩quinas virtuales livianas.
  • Docker corre de forma nativa solo en Linux.
  • Sector del disco: Cuando un contenedor es ejecutado, el daemon de docker le dice, a partir de ac谩 para arriba este disco es tuyo, pero no puedes subir mas arriba.
  • Docker hace que los procesos adentro de un contenedor este aislados del resto del sistema, no le permite ver m谩s all谩.
  • Cada contenedor tiene un ID 煤nico, tambi茅n tiene un nombre.

Docker Engine se encarga de lanzar y gestionar los contenedores con nuestras aplicaciones, pero en lugar de exponer los diferentes recursos de hardware de la m谩quina de manera discreta (es decir, 1 procesador y 鈥渪鈥 GB de RAM鈥 para cada aplicaci贸n), lo que hace es compartirlos entre todos los contenedores optimizando su uso y eliminando la necesidad de tener sistemas operativos separados para conseguir el aislamiento.
Los procesos de un contenedor se limitan al mismo; es decir que para esos procesos, su universo es lo que existe en dicho contenedor. Por ejemplo, solo se limitan a los recursos asignados al contenedor (disco, RAM, n煤cleos de procesamiento, etc). En el caso del disco, se le indica al contenedor la ruta del directorio que podr谩 implementar (ignorando cualquier otro directorio).

As铆 te ves cuando le dices a tu contenedor a que recursos de tu maquina anfitriona puede acceder:

Contenedores = The Truman Show

Para fines pr谩cticos un contenedor es una m谩quina virtual

El conteiner es la versi贸n moderna del mito de la caverna de Plat贸n

Me causa ansiedad tantas explicaciones de los mismo una y otra vez sin poner nada a prueba!

Bueno debido a que el comentario con mas likes tien una imagen muerta. pongo estas imagenes que mas o menos explican el concepto de que es un ocntainer y como se relacionan con el docker engine

.

En conclusion estamos contenidos en la 3d dimencion de un contenedor de multiples dimenciones馃く馃く

Contenedor: La piedra fundamentar, podriamos entender un contenedor como una VMs, pero el contenedor es una unidad logica y por eso puede correr de manera nativa, esta limitada en que puede ver o acceder. A fines practicos es como una VMs, pero hiper liviano y corre de manera nativa, corre sobre la maquina nativa

aqu铆 puedes explorar algo m谩s https://aws.amazon.com/es/docker/

Parcero que buenas explicaciones paso a paso. Por fin alguien que explique c贸mo es y se nota que sabes que es lo que estas ense帽ando. Bendiciones

Contenedor es como una m谩quina virtual, a fines pr谩cticos, para el software que queremos correr, nos permite muy f谩cilmente limitar qu茅 parte de la computadora nativa del sistema anfitriona puede ver.

Comparten:
SO
Kernel
Recursos
Limitados seg煤n le asignemos

Un Contenedor es una unidad l贸gica

Un contenedor podr铆a entenderse c贸mo una 鈥榤谩quina virtual鈥 pero con restricciones de recursos y accesos.

Aqu铆 la definici贸n y detalle de los contenedores, directamente de la documentaci贸n oficial de docker:
https://www.docker.com/resources/what-container

Y aqu铆 algo m谩s aterrizado a redhat, pero con mayor detalle
https://www.redhat.com/en/topics/containers

contenedor= the truman show , que no ve mas alla de lo que quieren que vea

Los contenedores son el concepto fundamental al hablar de docker. Un contenedor es una entidad l贸gica, una agrupaci贸n de procesos que se ejecutan de forma nativa como cualquier otra aplicaci贸n en la m谩quina host.

Un contenedor ejecuta sus procesos de forma nativa

Que es un contenedor ?

* Es la pieza fundamental de docker.
* Es una agrupaci贸n de varios procesos. Tambi茅n puede ser un solo proceso.
* Los procesos que se definen para un contenedor, solo pueden vivir en el contexto de ese contenedor.
* Los procesos usar谩n los recursos que el contenedor defina.
* Los procesos corren de forma nativa en m谩quinas linux, lo 煤nico que se comparte es el kernel. por eso en ambientes productivos se usa linux con docker.
* No son m谩quinas virtuales.

Me encant贸 la referencia a Truman jajajaja

Un contenedor es un conjunto de uno o m谩s procesos que son ejecutados nativamente en la m谩quina anfitriona pero est谩n aislados del resto del sistema.

Un contenedor es una unidad o agrupaci贸n l贸gica, y es por esto que puede correr de manera nativa en la m谩quina anfitriona; no como una m谩quina virtual que es una agrupaci贸n f铆sica (aunque virtualizada) que tiene las abstracciones de memoria, CPU, etc.

La agrupaci贸n l贸gica de un contenedor est谩 limitada en cuanto a qu茅 puede ver o a qu茅 puede acceder de la computadora anfitriona. Puede correr como si fuese cualquier otro servicio o programa de la computadora, pero de acuerdo a las limitaciones que se le sean especificadas.

Contenedores

Agrupaci贸n l贸gica, en la que limitamos el uso de recursos, como una m谩quina virtual, con la ventaja de que puede correr en m煤ltiples entornos compartiendo informaci贸n y recursos entre contenedores para lograrlo

驴Qu茅 es un contenedor?
Es donde va a correr nuestra aplicaci贸n.
Podr铆amos entender a un contenedor (a fines pr谩cticos) como una 鈥渕谩quina virtual liviana鈥, si entendemos que es un entorno que nos permite ejecutar de forma aislada una aplicaci贸n. Pero es importante entender que un contenedor en ning煤n caso intenta emular una computadora f铆sica como lo hace una VM.
Un contenedor en cambio es una agrupaci贸n de procesos que corren de forma nativa en una m谩quina pero que est谩n aislados del resto del sistema. Es una unidad l贸gica que est谩 limitada de lo que puede hacer o acceder de la computadora anfitriona, seg煤n lo definamos.