{"id":116,"date":"2023-09-01T13:22:15","date_gmt":"2023-09-01T11:22:15","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/?page_id=116"},"modified":"2025-03-09T13:17:25","modified_gmt":"2025-03-09T11:17:25","slug":"2-3-descargar-contenedores-creados","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/2-3-descargar-contenedores-creados\/","title":{"rendered":"2.3. Descargar contenedores creados"},"content":{"rendered":"<p>En primer lugar, miraremos si tenemos alguna imagen en nuestro sistema. En teor\u00eda, si es la primera vez que utilizas Docker, te deber\u00eda aparecer una lista en blanco al utilizar:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ docker image ls<\/pre>\n<p>Empezaremos por el contenedor m\u00e1s sencillo y lo bajaremos directamente:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ docker image pull hello-world<\/pre>\n<p>Hay el proceso de descarga y si todo ha funcionado correctamente al repetir el comando de listado de im\u00e1genes os deber\u00eda aparecer la imagen <code>hello-world<\/code>.<\/p>\n<p>La imagen de \u00abhello-world\u00bb procede de <a href=\"javascript:void(0);\" class=\"tooltip\" data-toggle=\"popover\" data-placement=\"bottom\" data-content=\"Docker Hub es el repositorio de im\u00e1genes Docker m\u00e1s amplio (<a href='https:\/\/www.docker.com\/products\/docker-hub\/' target='_blank'>https:\/\/www.docker.com\/products\/docker-hub\/<\/a>). Pod\u00e9is crear una cuenta para poder compartir vuestras im\u00e1genes con colaboradores o simplemente para tener vuestro propio cat\u00e1logo. La plataforma proporciona la opci\u00f3n de tener repositorios privados. Para poder bajar im\u00e1genes p\u00fablicas no hace falta tener un usuario y el comando utilizado es pull, mientras que para poder colgar vuestras im\u00e1genes en vuestro espacio se utilizar\u00eda el comando push previa autentificaci\u00f3n de usuario.\" data-placement=\"top\" data-html=\"true\" >Docker Hub<\/a>, un repositorio de im\u00e1genes.<\/p>\n<p>Seguidamente, ejecutaremos el contenedor que se cree a partir de la imagen <code>hello-world<\/code> mediante:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ docker container run hello-world<\/pre>\n<p>Una vez ejecutado recibir\u00e9is un mensaje de parte del equipo de Docker (figura 4).<\/p>\n<figure id=\"attachment_65\" aria-describedby=\"caption-attachment-65\" style=\"width: 640px\" class=\"wp-caption alignnone\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-65 size-large\" src=\"\/wp-content\/uploads\/sites\/6\/2023\/09\/image007-1024x468.png\" alt=\"\" width=\"640\" height=\"293\" srcset=\"\/wp-content\/uploads\/sites\/6\/2023\/09\/image007-1024x468.png 1024w, \/wp-content\/uploads\/sites\/6\/2023\/09\/image007-300x137.png 300w, \/wp-content\/uploads\/sites\/6\/2023\/09\/image007-768x351.png 768w, \/wp-content\/uploads\/sites\/6\/2023\/09\/image007.png 1322w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><figcaption id=\"caption-attachment-65\" class=\"wp-caption-text\">Figura 4. Mensaje de bienvenida del equipo de Docker al ejecutar \u00abhello-world\u00bb.<br \/>Fuente: elaboraci\u00f3n propia.<\/figcaption><\/figure>\n<p>Cuando se ejecuta un contenedor suceden tres procesos:<\/p>\n<ul>\n<li>Inicializa el contenedor a partir de la imagen.<\/li>\n<li>Se ejecuta la acci\u00f3n preestablecida del contenedor si esta existe.<\/li>\n<li>Una vez la acci\u00f3n ha finalizado el contenedor se para.<\/li>\n<\/ul>\n<p>En el caso del ejemplo anterior la acci\u00f3n preestablecida era imprimir el mensaje de bienvenida, pero la acci\u00f3n realizada puede ser mucho m\u00e1s compleja.<\/p>\n<p>Adem\u00e1s de poder ejecutar los comandos predeterminados por el contenedor tambi\u00e9n le podemos pasar comandos o entrar en modo interactivo. Para probar estas opciones ejecutaremos el contenedor Alpine que contiene una distribuci\u00f3n de Ubuntu muy simple.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ docker container run -it alpine sh<\/pre>\n<p>En este comando utilizamos la opci\u00f3n <code>it<\/code> para ser interactivo y <code>sh<\/code> nos especifica que el terminal que queremos utilizar es <em><code>bash<\/code><\/em>.<\/p>\n<p>Ver\u00e9is que la l\u00ednea de comandos cambia a:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">\/ #<\/pre>\n<p>Podr\u00e9is comprobar que ahora est\u00e1is dentro de Alpine y al ejecutar<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">\/ #\u00a0 cat \/etc\/os-release<\/pre>\n<p>os mostrar\u00e1 la versi\u00f3n de Alpine que os hab\u00e9is bajado.<\/p>\n<p>De esta manera, una vez ejecutado el contenedor no se ha finalizado como hab\u00edamos observado anteriormente, sino que se mantiene activo y responde a los comandos que introduzcamos.<\/p>\n<p>Para poder salir del contenedor y finalizar su ejecuci\u00f3n pod\u00e9is introducir el comando <code>exit<\/code>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En primer lugar, miraremos si tenemos alguna imagen en nuestro sistema. En teor\u00eda, si es la primera vez que utilizas Docker, te deber\u00eda aparecer una lista en blanco al utilizar: $ docker image ls Empezaremos por el contenedor m\u00e1s sencillo y lo bajaremos directamente: $ docker image pull hello-world Hay el proceso de descarga y [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/wp-json\/wp\/v2\/pages\/116"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/wp-json\/wp\/v2\/comments?post=116"}],"version-history":[{"count":7,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/wp-json\/wp\/v2\/pages\/116\/revisions"}],"predecessor-version":[{"id":465,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/wp-json\/wp\/v2\/pages\/116\/revisions\/465"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/entornos-y-contenedores\/es\/wp-json\/wp\/v2\/media?parent=116"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}