{"id":15862,"date":"2024-07-08T20:21:47","date_gmt":"2024-07-08T16:51:47","guid":{"rendered":"https:\/\/www.itpiran.net\/blog\/?p=15862"},"modified":"2024-07-08T20:21:47","modified_gmt":"2024-07-08T16:51:47","slug":"how-to-use-docker-exec-to-run-commands-in-a-docker-container-2","status":"publish","type":"post","link":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/","title":{"rendered":"C\u00f3mo usar docker exec para ejecutar comandos en un contenedor Docker"},"content":{"rendered":"<h2 id=\"%d9%85%d9%82%d8%af%d9%85%d9%87\">Introducci\u00f3n<\/h2>\n<p>Docker es una herramienta de contenedorizaci\u00f3n que ayuda a los desarrolladores a crear y administrar contenedores port\u00e1tiles compatibles con Linux.<\/p>\n<p>Al desarrollar o implementar contenedores, a menudo es necesario revisar el interior de un contenedor en ejecuci\u00f3n para comprobar su estado actual o solucionar un problema. Para ello, Docker proporciona el comando docker exec para ejecutar aplicaciones en contenedores en ejecuci\u00f3n.<\/p>\n<p>En este tutorial, aprenderemos sobre el comando docker exec y c\u00f3mo usarlo para ejecutar comandos y obtener un shell interactivo en un contenedor Docker.<\/p>\n<h5 id=\"%d9%be%db%8c%d8%b4-%d9%86%db%8c%d8%a7%d8%b2%d9%87%d8%a7\">Requisitos previos<\/h5>\n<p>Este tutorial asume que ya ha instalado Docker y que su usuario tiene permiso para ejecutarlo. Si necesita ejecutar Docker como root, recuerde agregar &quot;sudo&quot; a los comandos de este tutorial.<\/p>\n<p>Para obtener m\u00e1s informaci\u00f3n sobre c\u00f3mo usar Docker sin acceso a sudo, consulte la secci\u00f3n Ejecutar un comando Docker sin sudo en nuestro tutorial C\u00f3mo instalar Docker.<\/p>\n<h5 id=\"%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-%da%a9%d8%a7%d9%86%d8%aa%db%8c%d9%86%d8%b1-%d8%aa%d8%b3%d8%aa\">Lanzamiento de un contenedor de prueba<\/h5>\n<p>Para usar el comando docker exec, necesita un contenedor Docker en ejecuci\u00f3n. Si a\u00fan no tiene uno, inicie un contenedor de prueba con el siguiente comando docker exec:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker run -d --name container-name alpine watch \"date &gt;&gt; \/var\/log\/date.log\"\r\n<\/code><\/pre>\n<\/div>\n<p>Este comando crea un nuevo contenedor Docker a partir de la imagen oficial de Alpine. Esta es una imagen de contenedor de Linux popular que utiliza Alpine Linux, una distribuci\u00f3n de Linux ligera y minimalista.<\/p>\n<p>Usamos el par\u00e1metro -d para separar el contenedor de la terminal y ejecutarlo en segundo plano. --name container-name asigna un nombre al contenedor. Puedes elegir el nombre que prefieras o omitirlo para que Docker genere autom\u00e1ticamente un nombre \u00fanico para el nuevo contenedor.<\/p>\n<p>A continuaci\u00f3n tenemos alpine que especifica la imagen que queremos usar para el contenedor.<\/p>\n<p>Finalmente, tenemos &quot;date &gt;&gt; \/var\/log\/date.log&quot;. Este es el comando que queremos ejecutar en el contenedor. Por defecto, el reloj ejecutar\u00e1 el comando que le des cada dos segundos. El comando que ejecutar\u00e1 el reloj en este caso es date &gt;&gt; \/var\/log\/date.log. date imprime la fecha y hora actuales, as\u00ed:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nFri Jul 23 14:57:05 UTC 2021<\/code><\/pre>\n<\/div>\n<p>La secci\u00f3n &gt;&gt; \/var\/log\/date.log redirige la salida del comando date y la a\u00f1ade al archivo \/var\/log\/date.log. Cada dos segundos se a\u00f1ade una nueva l\u00ednea al archivo, y despu\u00e9s de unos segundos tendr\u00e1 un aspecto similar a este:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nFri Jul 23 15:00:26 UTC 2021\r\nFri Jul 23 15:00:28 UTC 2021\r\nFri Jul 23 15:00:30 UTC 2021\r\nFri Jul 23 15:00:32 UTC 2021\r\nFri Jul 23 15:00:34 UTC 2021<\/code><\/pre>\n<\/div>\n<p>A continuaci\u00f3n, aprenderemos a encontrar los nombres de los contenedores Docker. Esto ser\u00e1 \u00fatil si ya tienes un contenedor al que te diriges, pero no est\u00e1s seguro de su nombre.<\/p>\n<h2 id=\"%d9%be%db%8c%d8%af%d8%a7-%da%a9%d8%b1%d8%af%d9%86-%d9%86%d8%a7%d9%85-%da%a9%d8%a7%d9%86%d8%aa%db%8c%d9%86%d8%b1-%d8%af%d8%a7%da%a9%d8%b1\">Encontrar el nombre del contenedor Docker<\/h2>\n<p>Necesitamos proporcionar a docker exec el nombre (o ID del contenedor) del contenedor con el que queremos trabajar. Podemos encontrar esta informaci\u00f3n usando el comando docker ps:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker ps\r\n<\/code><\/pre>\n<\/div>\n<p>Este comando enumera todos los contenedores Docker que se ejecutan en el servidor y proporciona informaci\u00f3n de alto nivel sobre ellos:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\r\n76aded7112d4 alpine \"watch 'date &gt;&gt; \/var\u2026\" 11 seconds ago Up 10 seconds container-name<\/code><\/pre>\n<\/div>\n<p>En este ejemplo, se resaltan el ID y el nombre del contenedor. Puedes usar cualquiera de ellos para indicarle a Docker Exec qu\u00e9 contenedor usar.<\/p>\n<p>Si desea cambiar el nombre de su contenedor, utilice el comando docker rename:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker rename container-name new-name\r\n<\/code><\/pre>\n<\/div>\n<p>A continuaci\u00f3n, ejecutaremos varios ejemplos de uso de docker exec para ejecutar comandos en un contenedor Docker.<\/p>\n<h2 id=\"%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%db%8c%da%a9-%d9%be%d9%88%d8%b3%d8%aa%d9%87-%d8%aa%d8%b9%d8%a7%d9%85%d9%84%db%8c-%d8%af%d8%b1-%db%8c%da%a9-%d8%af%d8%a7%da%a9%d8%b1-%da%a9%d8%a7%d9%86%d8%aa%db%8c%d9%86\">Ejecuci\u00f3n de un shell interactivo en un contenedor Docker<\/h2>\n<p>Si necesita iniciar un shell interactivo dentro de un contenedor Docker, tal vez para explorar el sistema de archivos o depurar procesos en ejecuci\u00f3n, utilice docker exec con los indicadores -i y -t.<\/p>\n<p>La opci\u00f3n -i mantiene abierta la entrada al contenedor, y la opci\u00f3n -t crea una pseudoterminal a la que el shell puede conectarse. Estas opciones se pueden combinar de la siguiente manera:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker exec -it container-name sh\r\n<\/code><\/pre>\n<\/div>\n<p>Esto ejecutar\u00e1 el shell en el contenedor especificado y le mostrar\u00e1 un mensaje inicial. Para salir del contenedor, escriba exit y <code>INGRESAR<\/code> Prensa:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>exit<\/code><\/pre>\n<\/div>\n<p>Si la imagen de su contenedor incluye un shell m\u00e1s avanzado como bash, puede reemplazar sh con bash arriba.<\/p>\n<h2 id=\"%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%db%8c%da%a9-%d9%81%d8%b1%d9%85%d8%a7%d9%86-%d8%ba%db%8c%d8%b1-%d8%aa%d8%b9%d8%a7%d9%85%d9%84%db%8c-%d8%af%d8%b1-%db%8c%da%a9-%d8%af%d8%a7%da%a9%d8%b1-%da%a9%d8%a7%d9%86\">Ejecutar un comando no interactivo en un contenedor Docker<\/h2>\n<p>Si necesita ejecutar un comando dentro de un contenedor en ejecuci\u00f3n, pero no necesita interactuar, use el comando docker exec sin ninguna bandera:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker exec container-name tail \/var\/log\/date.log\r\n<\/code><\/pre>\n<\/div>\n<p>Este comando ejecutar\u00e1 tail \/var\/log\/date.log en el contenedor `nombre del contenedor` e imprimir\u00e1 los resultados. De forma predeterminada, el comando `tail` imprime las \u00faltimas diez l\u00edneas de un archivo. Si ejecuta el contenedor de prueba que configuramos en la primera secci\u00f3n, ver\u00e1 algo similar a esto:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nMon Jul 26 14:39:33 UTC 2021\r\nMon Jul 26 14:39:35 UTC 2021\r\nMon Jul 26 14:39:37 UTC 2021\r\nMon Jul 26 14:39:39 UTC 2021\r\nMon Jul 26 14:39:41 UTC 2021\r\nMon Jul 26 14:39:43 UTC 2021\r\nMon Jul 26 14:39:45 UTC 2021\r\nMon Jul 26 14:39:47 UTC 2021\r\nMon Jul 26 14:39:49 UTC 2021\r\nMon Jul 26 14:39:51 UTC 2021<\/code><\/pre>\n<\/div>\n<p>Esto es b\u00e1sicamente lo mismo que abrir un shell interactivo para el contenedor Docker (como se hizo en el paso anterior con docker exec -it container-name sh) y luego ejecutar el comando tail \/var\/log\/date.log. Sin embargo, en lugar de abrir un shell, ejecutar el comando y luego cerrarlo, este comando devuelve la misma salida en un solo comando sin abrir una pseudoterminal.<\/p>\n<h2 id=\"%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d8%af%d8%b3%d8%aa%d9%88%d8%b1%d8%a7%d8%aa-%d8%af%d8%b1-%db%8c%da%a9-%d9%81%d9%87%d8%b1%d8%b3%d8%aa-%d8%ac%d8%a7%db%8c%da%af%d8%b2%db%8c%d9%86-%d8%af%d8%b1-%db%8c%da%a9\">Ejecutar comandos en un directorio alternativo en un contenedor Docker<\/h2>\n<p>Para ejecutar un comando en un directorio espec\u00edfico de su contenedor, use el indicador \u2013workdir para especificar el directorio:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker exec --workdir \/tmp container-name pwd\r\n<\/code><\/pre>\n<\/div>\n<p>Este comando de ejemplo establece el directorio \/tmp como el directorio de trabajo, luego ejecuta el comando pwd, que imprime el directorio de trabajo actual:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\n\/tmp\r\n<\/code><\/pre>\n<\/div>\n<p>El comando pwd ha confirmado que el directorio de trabajo es \/tmp.<\/p>\n<h2 id=\"%d8%a7%d8%ac%d8%b1%d8%a7%db%8c-%d8%af%d8%b3%d8%aa%d9%88%d8%b1%d8%a7%d8%aa-%d8%a8%d9%87-%d8%b9%d9%86%d9%88%d8%a7%d9%86-%db%8c%da%a9-%da%a9%d8%a7%d8%b1%d8%a8%d8%b1-%d9%85%d8%aa%d9%81%d8%a7%d9%88%d8%aa\">Ejecutar comandos como un usuario diferente en un contenedor Docker<\/h2>\n<p>Para ejecutar un comando como un usuario diferente dentro de su contenedor, agregue el indicador --user:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker exec --user guest container-name whoami\r\n<\/code><\/pre>\n<\/div>\n<p>Esto utiliza al usuario invitado para ejecutar el comando whoami en el contenedor. El comando whoami imprime el nombre de usuario actual del usuario:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nguest<\/code><\/pre>\n<\/div>\n<p>El comando whoami confirma que el usuario actual del contenedor es el invitado.<\/p>\n<h2 id=\"%d8%a7%d9%86%d8%aa%d9%82%d8%a7%d9%84-%d9%85%d8%aa%d8%ba%db%8c%d8%b1%d9%87%d8%a7%db%8c-%d9%85%d8%ad%db%8c%d8%b7%db%8c-%d8%a8%d9%87-%da%a9%d8%a7%d9%86%d8%aa%db%8c%d9%86%d8%b1-%d8%af%d8%a7%da%a9%d8%b1\">Pasar variables de entorno a un contenedor Docker<\/h2>\n<p>A veces es necesario pasar variables de entorno a un contenedor junto con el comando de ejecuci\u00f3n. El indicador -e permite especificar una variable de entorno:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker exec -e TEST=sammy container-name env\r\n<\/code><\/pre>\n<\/div>\n<p>Este comando establece la variable de entorno TEST en sammy y luego ejecuta el comando env dentro del contenedor. El comando env imprime todas las variables de entorno:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\r\nHOSTNAME=76aded7112d4\r\nTEST=sammy\r\nHOME=\/root<\/code><\/pre>\n<\/div>\n<p>La variable TEST se establece en sammy.<\/p>\n<p>Para configurar varias variables, repita el comando -e para cada una:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker exec -e TEST=sammy -e ENVIRONMENT=prod container-name env\r\n<\/code><\/pre>\n<\/div>\n<p>Si desea pasar un archivo lleno de variables de entorno, puede hacerlo con el indicador \u2013env-file.<\/p>\n<p>Primero, crea el archivo con un editor de texto. Abriremos un nuevo archivo con nano, pero puedes usar cualquier editor que te resulte c\u00f3modo:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>nano .env\r\n<\/code><\/pre>\n<\/div>\n<p>Usamos .env como nombre de archivo porque es un est\u00e1ndar popular para usar este tipo de archivos para administrar informaci\u00f3n fuera del control de versiones.<\/p>\n<p>Escriba sus variables KEY=value en el archivo, una por l\u00ednea, como se muestra a continuaci\u00f3n:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>TEST=sammy\r\nENVIRONMENT=prod<\/code><\/pre>\n<\/div>\n<p>Guarde y cierre el archivo. Para guardar el archivo y salir de nano, presione CTRL+O, luego ENTER para guardar y CTRL+X para salir.<\/p>\n<p>Ahora ejecute el comando docker exec y especifique el nombre de archivo correcto despu\u00e9s de \u2013env-file:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-bash\" data-lang=\"Bash\"><code>docker exec --env-file .env container-name env\r\n<\/code><\/pre>\n<\/div>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Output\r\nPATH=\/usr\/local\/sbin:\/usr\/local\/bin:\/usr\/sbin:\/usr\/bin:\/sbin:\/bin\r\nHOSTNAME=76aded7112d4\r\nTEST=sammy\r\nENVIRONMENT=prod\r\nHOME=\/root<\/code><\/pre>\n<\/div>\n<p>Se establecen dos variables en el archivo.<\/p>\n<p>Puede especificar varios archivos con varios indicadores \u2013env-file. Si las variables de los archivos se superponen, el archivo incluido en el \u00faltimo comando sobrescribir\u00e1 los archivos anteriores.<\/p>\n<h2 id=\"%d8%ae%d8%b7%d8%a7%d9%87%d8%a7%db%8c-%d8%b1%d8%a7%db%8c%d8%ac\">Errores comunes<\/h2>\n<p>Al utilizar el comando docker exec, es posible que encuentre algunos errores comunes:<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Error: No such container: container-name\r\n<\/code><\/pre>\n<\/div>\n<p>El error &quot;No existe dicho contenedor&quot; significa que el contenedor especificado no existe y puede indicar un error ortogr\u00e1fico en su nombre. Use docker ps para listar los contenedores en ejecuci\u00f3n y verificar el nombre.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Error response from daemon: Container 2a94aae70ea5dc92a12e30b13d0613dd6ca5919174d73e62e29cb0f79db6e4ab is not running\r\n<\/code><\/pre>\n<\/div>\n<p>Este mensaje en ejecuci\u00f3n significa que el contenedor existe, pero est\u00e1 detenido. Puede iniciarlo con docker start container-name.<\/p>\n<div class=\"hcb_wrap\" data-no-translation=\"\" data-no-auto-translation=\"\">\n<pre class=\"prism line-numbers lang-plain\" data-lang=\"Plain Text\"><code>Error response from daemon: Container container-name is paused, unpause the container before exec\r\n<\/code><\/pre>\n<\/div>\n<p>El error &quot;Contenedor en pausa&quot; explica bien el problema. Antes de continuar, debe reactivar el contenedor con docker unpause container-name.<\/p>\n<h2 id=\"%d9%86%d8%aa%db%8c%d8%ac%d9%87\">Resultado<\/h2>\n<p>En este tutorial aprendimos c\u00f3mo ejecutar comandos en un contenedor Docker en ejecuci\u00f3n, junto con algunas opciones de l\u00ednea de comandos al hacerlo.<\/p>\n<p>Para obtener m\u00e1s informaci\u00f3n sobre Docker en general, visita nuestra p\u00e1gina de etiquetas Docker, que tiene enlaces a tutoriales de Docker, p\u00e1ginas de preguntas y respuestas relacionadas con Docker y m\u00e1s.<\/p>","protected":false},"excerpt":{"rendered":"Introducci\u00f3n Docker es una herramienta de contenedorizaci\u00f3n que ayuda a los desarrolladores a crear contenedores port\u00e1tiles compatibles con Linux\u2026","protected":false},"author":1,"featured_media":15864,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_focuskw":"\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container","_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_yoast_wpseo_canonical":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_opengraph-image":"","_yoast_wpseo_twitter-description":"","_yoast_wpseo_twitter-image":"","_yoast_wpseo_focuskeywords":"","_yoast_wpseo_primary_category":"193","footnotes":""},"categories":[193],"tags":[424,346],"class_list":{"0":"post-15862","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-tutorials","8":"tag-container","9":"tag-docker"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container - \u0628\u0644\u0627\u06af ITPiran<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container - \u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"og:description\" content=\"\u0645\u0642\u062f\u0645\u0647 Docker \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc\u200c\u0633\u0627\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0642\u0627\u0628\u0644 \u062d\u0645\u0644 \u0648 \u0633\u0627\u0632\u06af\u0627\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0628\u0644\u0627\u06af ITPiran\" \/>\n<meta property=\"article:published_time\" content=\"2024-07-08T16:51:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.itpiran.net\/2024\/07\/08200730\/dokkkk.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1793\" \/>\n\t<meta property=\"og:image:height\" content=\"1110\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\"},\"headline\":\"\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container\",\"datePublished\":\"2024-07-08T16:51:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/\"},\"wordCount\":147,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/07\\\/08200730\\\/dokkkk.jpg\",\"keywords\":[\"container\",\"Docker\"],\"articleSection\":[\"\u0622\u0645\u0648\u0632\u0634\u06cc\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/\",\"name\":\"\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container - \u0628\u0644\u0627\u06af ITPiran\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/07\\\/08200730\\\/dokkkk.jpg\",\"datePublished\":\"2024-07-08T16:51:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/07\\\/08200730\\\/dokkkk.jpg\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2024\\\/07\\\/08200730\\\/dokkkk.jpg\",\"width\":1793,\"height\":1110},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/tutorials\\\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0622\u0645\u0648\u0632\u0634\u06cc\",\"item\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/category\\\/tutorials\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"name\":\"\u0628\u0644\u0627\u06af ITPiran\",\"description\":\"\u0627\u062e\u0628\u0627\u0631 \u0648 \u0645\u0642\u0627\u0644\u0627\u062a \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#organization\",\"name\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\",\"alternateName\":\"ITPIran Blog\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"contentUrl\":\"https:\\\/\\\/cdn.itpiran.net\\\/2023\\\/12\\\/27150508\\\/cropped-ITPIRAN-BLOG-LOGO-2.png\",\"width\":512,\"height\":512,\"caption\":\"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646\"},\"image\":{\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/#\\\/schema\\\/person\\\/04ed27b919baca468a2273f8e4318f81\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.itpiran.net\\\/blog\\\/es\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"C\u00f3mo usar Docker Exec para ejecutar comandos en un contenedor Docker - Blog de ITPiran","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/","og_locale":"es_ES","og_type":"article","og_title":"\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container - \u0628\u0644\u0627\u06af ITPiran","og_description":"\u0645\u0642\u062f\u0645\u0647 Docker \u06cc\u06a9 \u0627\u0628\u0632\u0627\u0631 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u06cc\u200c\u0633\u0627\u0632\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062a\u0627 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc \u0642\u0627\u0628\u0644 \u062d\u0645\u0644 \u0648 \u0633\u0627\u0632\u06af\u0627\u0631 \u0644\u06cc\u0646\u0648\u06a9\u0633&hellip;","og_url":"https:\/\/www.itpiran.net\/blog\/es\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/","og_site_name":"\u0628\u0644\u0627\u06af ITPiran","article_published_time":"2024-07-08T16:51:47+00:00","og_image":[{"width":1793,"height":1110,"url":"https:\/\/cdn.itpiran.net\/2024\/07\/08200730\/dokkkk.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/#article","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/"},"author":{"name":"admin","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81"},"headline":"\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container","datePublished":"2024-07-08T16:51:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/"},"wordCount":147,"commentCount":0,"publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/07\/08200730\/dokkkk.jpg","keywords":["container","Docker"],"articleSection":["\u0622\u0645\u0648\u0632\u0634\u06cc"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/","url":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/","name":"C\u00f3mo usar Docker Exec para ejecutar comandos en un contenedor Docker - Blog de ITPiran","isPartOf":{"@id":"https:\/\/www.itpiran.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/#primaryimage"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.itpiran.net\/2024\/07\/08200730\/dokkkk.jpg","datePublished":"2024-07-08T16:51:47+00:00","breadcrumb":{"@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/#primaryimage","url":"https:\/\/cdn.itpiran.net\/2024\/07\/08200730\/dokkkk.jpg","contentUrl":"https:\/\/cdn.itpiran.net\/2024\/07\/08200730\/dokkkk.jpg","width":1793,"height":1110},{"@type":"BreadcrumbList","@id":"https:\/\/www.itpiran.net\/blog\/tutorials\/how-to-use-docker-exec-to-run-commands-in-a-docker-container-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.itpiran.net\/blog\/"},{"@type":"ListItem","position":2,"name":"\u0622\u0645\u0648\u0632\u0634\u06cc","item":"https:\/\/www.itpiran.net\/blog\/category\/tutorials\/"},{"@type":"ListItem","position":3,"name":"\u0646\u062d\u0648\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 docker exec \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627\u06cc \u062f\u0633\u062a\u0648\u0631\u0627\u062a \u062f\u0631 \u06cc\u06a9 Docker Container"}]},{"@type":"WebSite","@id":"https:\/\/www.itpiran.net\/blog\/#website","url":"https:\/\/www.itpiran.net\/blog\/","name":"Blog de ITPiran","description":"Noticias y art\u00edculos sobre comercio sostenible en Ir\u00e1n","publisher":{"@id":"https:\/\/www.itpiran.net\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.itpiran.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.itpiran.net\/blog\/#organization","name":"Blog sobre negocios iran\u00edes sostenibles","alternateName":"ITPIran Blog","url":"https:\/\/www.itpiran.net\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","contentUrl":"https:\/\/cdn.itpiran.net\/2023\/12\/27150508\/cropped-ITPIRAN-BLOG-LOGO-2.png","width":512,"height":512,"caption":"\u0628\u0644\u0627\u06af \u062a\u062c\u0627\u0631\u062a \u067e\u0627\u06cc\u062f\u0627\u0631 \u0627\u06cc\u0631\u0627\u0646\u06cc\u0627\u0646"},"image":{"@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.itpiran.net\/blog\/#\/schema\/person\/04ed27b919baca468a2273f8e4318f81","name":"administraci\u00f3n","url":"https:\/\/www.itpiran.net\/blog\/es\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15862","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/comments?post=15862"}],"version-history":[{"count":2,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15862\/revisions"}],"predecessor-version":[{"id":15865,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/posts\/15862\/revisions\/15865"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/media\/15864"}],"wp:attachment":[{"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/media?parent=15862"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/categories?post=15862"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itpiran.net\/blog\/es\/wp-json\/wp\/v2\/tags?post=15862"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}