‫De acuerdo, los requisitos para esta conferencia son que sepa cómo iniciar un contenedor de conferencias anteriores.
‫Y acabamos de terminar la última conferencia hablando de ver lo que está sucediendo en un contenedor desde el exterior.
‫Y esto se trata de meterse en un contenedor para meterse con el interior.
‫Así que hay algunos comandos que podemos usar.
‫El primero es el contenedor ejecutado con un guión I. T. y hablaremos sobre cómo el guión I. T. funciona para obtener
‫realmente un shell dentro del contenedor y luego para ejecutar los contenedores que desea ejecutar un segundo proceso.
‫También puede usar el contenedor exec y le mostraremos varios ejemplos de eso.
‫Y luego, en el camino, vamos a mencionar algunas diferencias entre una distribución regular de Linux como
‫Ubuntu para instalar en una máquina virtual o en hardware y luego cómo son esos destructores
‫de enlaces dentro de un contenedor.
‫Empecemos.
‫Por lo tanto, mirar un contenedor desde afuera es muy útil a veces, pero una de las primeras preguntas
‫que la gente a menudo me hace es cómo entro en el contenedor y realmente hago las cosas en vivo desde
‫la línea de comandos.
‫Y a veces las personas confunden esto con querer un servidor de la era SS dentro de su contenedor para que
‫puedan ingresar SSA en él, pero en realidad no necesitamos hacer eso porque tenemos varios comandos a nuestra disposición
‫que nos permiten tener un shell dentro del contenedor mientras está corriendo.
‫Y el primero es solo un comando de ejecución de contenedor docker.
‫Pero vamos a especificar algunas opciones adicionales.
‫Vamos a hacer una carrera. T. ahora el guión I. T. En realidad son dos opciones separadas.
‫Y si solo muestro la ayuda muy rápido, puede ver que la T en realidad nos da un pseudo tipo o un mensaje similar a lo que tendría a
‫través de SSA H y luego si nos desplazamos hacia I y eso es realmente lo que
‫nos permite mantener eso sesión abierta para que podamos seguir ejecutando más comandos, así que si hacemos un contenedor acoplable, ejecute el
‫guión T y luego ejecute otro motor X, vamos a llamarlo proxy y luego tendremos que especificar un comando alternativo si recuerda al principio de este sección donde hablamos
‫sobre el formato de la línea de comando del acoplador cuando está ejecutando un contenedor
‫de acoplador, como puede ver a través de la ayuda aquí al final después de la
‫imagen que tiene un comando opcional y argumentos que puede enviar a este nuevo contenedor que estás
‫a punto de comenzar a decirle qué correr.
‫La imagen tiene un comando predeterminado que veremos más adelante cómo configurar, pero si desea cambiar lo que se
‫ejecutó en el inicio, puede hacerlo directamente desde la línea de ejecución.
‫Entonces, digamos bash porque bash es uno de los shells comunes que normalmente encontrarás en un contenedor con el
‫que te daré un shell para trabajar y ver eso.
‫Estoy en un mensaje Ahora notará que mi mensaje dice root, que es el usuario que inició el contenedor, ya que en realidad no
‫significa que soy root en el host.
‫Simplemente significa que estoy actuando como root en el contenedor y ese número después de que sea realmente el contenedor
‫I. RE..
‫Entonces, si hago una cerveza de l s dash, obtengo una lista completa de todo donde estoy.
‫Y puede ver que estoy en la ruta raíz del sistema de archivos dentro del contenedor.
‫Así que en realidad estoy mirando todos los archivos dentro del contenedor que se basa en la siguiente imagen del motor.
‫Y desde aquí podría cambiar los archivos de configuración, podría descargar paquetes de Internet y hacer casi cualquier cosa
‫administrativa común que haría desde un shell normal.
‫Entonces, para salir de este programa cuando haya terminado con una salida de tipo como lo haría con cualquier shell
‫y ahora ese contenedor se haya detenido si realmente lo hiciéramos, a menos que no lo viera allí.
‫Recuerda que lo llamamos proxy.
‫Así que tuve que correr un poco y está ahí.
‫Ahora vea que el comando que ejecuta el comando predeterminado para un contenedor engine X es ejecutar el programa engine X en
‫sí mismo.
‫Pero cuando escribimos nuestro último comando, cambiamos ese programa predeterminado para que sea realmente bash, lo que
‫nos dio nuestro shell y cuando salimos del shell, el contenedor se detuvo porque los contenedores solo se ejecutan mientras se ejecuta
‫el comando que se ejecutó en el inicio.
‫Y dado que cambiamos eso a bash simplemente saliendo de bash, sal de él.
‫Ahora, ¿qué pasaría si usara una distribución completa de Linux en lugar de hacer realmente el motor x?
‫Hagamos un Ubuntu completo y en realidad va a descargar la imagen de Ubuntu y ubicarme en el indicador de
‫este nuevo contenedor.
‫Si alguna vez usó Ubuntu, conoce el administrador de paquetes de aplicaciones, por lo que puedo usarlo aquí
‫como lo haría en un servidor ubuntu estándar y realmente podría instalar algo para obtener el tablero de instalación,
‫sí Perl.
‫Ahora, lo que sucede con Ubuntu y otras distribuciones dentro de un contenedor es que generalmente son muy mínimas.
‫Un vivo C. RE. o una descarga de la ISO de
‫tu bendición a la que normalmente pondrías en una máquina virtual tendrá mucho más software instalado de forma predeterminada que un contenedor de Ubuntu, que
‫es realmente una versión muy mínima de Ubuntu a la que siempre puedes agregar más software con el administrador de paquetes de aplicaciones.
‫Así que ahora este contenedor en ejecución tiene instalado curl y puedo usarlo como lo
‫haría en una máquina local y una vez que salga del shell nuevamente detendrá el contenedor acoplable de contenedores a menos que sepa
‫que no lo veo y hay una imagen de Ubuntu que acabamos de correr
‫Ahora, si volviera a iniciar ese contenedor, se habría instalado en él, pero si creara un nuevo contenedor a partir
‫de la imagen de Ubuntu, ese contenedor diferente no tendría instalada la línea de comando del núcleo.
‫Ahora, ¿qué pasaría si quisiéramos volver a ejecutar ese contenedor y volver a golpearlo nuevamente?
‫Bueno, podríamos usar el comentario de inicio del contenedor acoplable ahora.
‫Notarás que es ligeramente diferente cuando comenzamos un contenedor existente, pero es similar al I. T.
‫es solo una A.
‫Y luego, el nombre de nuestro contenedor que le brindó a los que estaban de vuelta en
‫él y puedo volver a curvar Google y funciona y si salgo, lo detendré nuevamente.
‫Ahora, ¿qué pasa si quiero ver realmente el shell dentro de un contenedor en ejecución que ya está ejecutando algo
‫como mi secuela o motor x?
‫Bueno, podemos hacer eso también.
‫Y eso es usar el contenedor de docker de comando exacto.
‫Exactamente.
‫Y puedes ver que tenemos algunas opciones aquí.
‫Y la más común es, digamos, que quiero saltar al contenedor My School porque necesito hacer
‫algunas tareas administrativas en My School.
‫Yo podría hacer el yo. T. de nuevo y luego el nombre del contenedor y luego el programa.
‫Quiero correr.
‫Y en este caso nuevamente es bash y ahora estoy en el contenedor con mi secuela.
‫De hecho, puedo hacer un PSA a UX dentro del contenedor que enumera los procesos y esto, por supuesto, me mostrará el demonio más
‫igualitario que se ejecuta en segundo plano, así como el proceso de bash en el que estoy sentado actualmente, así
‫como el P . S. comando que acabo de ejecutar en este shell.
‫Podría saltar a mi secuela con la línea de comando my secuela y notará cuando salga
‫de este bash shell a menos que mi secuela todavía se esté ejecutando porque el contenedor Docker exactamente ejecuta un
‫proceso adicional en un contenedor en ejecución existente.
‫No va a afectar el proceso raíz del demonio My School.
‫Entonces intentemos uno más.
‫Como puede ver aquí, esto es muy útil para saltar en contenedores.
‫Necesitamos solucionar problemas o cuando necesite cambiar algo levemente en un sistema en ejecución,
‫así como usar contenedores de diferentes distribuciones para brindarle el entorno que tendría si tuviera
‫una máquina llena como Ubuntu o Alpine.
‫Ahora que es Alpine.
‫No hemos mencionado Alpine antes de que Alpine sea otra distribución de Linux, pero Alpine está diseñado para ser
‫muy pequeño.
‫En realidad, solo mide 5 Meg.
‫Si hago un docker pull Alpine que derribará la última imagen de Alpine y si hago una imagen de docker a menos que
‫realmente puedas ver lo pequeño que es Alpine Limoges en comparación con Ubuntu, lo bueno de Alpine es que también viene
‫con su propio administrador de paquetes y verá Alpine como una opción para desacoplar o concentrar
‫mucho en la siguiente sección cuando revisemos las imágenes y Docker Hub, pero por
‫ahora hagamos un show de bash dentro del contenedor de camionero Alpine dirigido por T.
‫Alpine Bash.
‫Ahora, lo que acaba de suceder aquí, por qué obtuve un aire, me dice que está comenzando
‫a contener un proceso y hace que el archivo ejecutable bash no se encuentre en la ruta y lo que realmente significa es que
‫bash no está en el contenedor.
‫Y esto se remonta al concepto de que solo podemos ejecutar cosas en el contenedor que ya existe en
‫su imagen.
‫Cuando lo inició o tal vez algo que agregó más tarde a través de los comandos exactos o de ejecución.
‫Pero en este caso, ¿cómo podría obtener la imagen alpina?
‫Bueno, Alpine es tan pequeño que en realidad no tiene bash, pero sí tiene SDH, por lo que podemos reemplazar el
‫comando con S H, que no es tan completo como bash, pero nos lleva directamente al contenedor.
‫Y si buscara Alpine Linux en Internet, aprendería que su administrador de
‫paquetes es una P. K. y podríamos usar eso para instalar bash si realmente lo necesitáramos.
‫Bueno.
‫Solo para recapitular muy rápido de lo que aprendimos en esta lección, aprendimos sobre el tablero I. T. opción para la ejecución
‫del contenedor que nos da el equivalente de un shell interactivo para hacer cosas en un contenedor como
‫lo haríamos si estuviéramos en SSA en un servidor de algún tipo.
‫Luego aprendimos un nuevo comando para el contenedor acoplable exactamente con el I. T. eso hace exactamente lo
‫mismo que ejecutar, pero lo hace en un contenedor existente que se ejecuta sin iniciar un nuevo contenedor.
‫Y por último, aprendimos un poco sobre Alpine y cómo es diferente de las principales distribuciones de Linux y
‫cómo es realmente para el tamaño de mag e ideal para imágenes de contenedor.