mkdocs-i18n implemented for new languages Spanish translation
4.0 KiB
Ahora que hemos creado una imagen, ¡compartámosla! Para compartir imágenes de Docker, debe utilizar un Docker registry. El registry predeterminado es Docker Hub y es de donde provienen todas las imágenes que hemos utilizado.
Crear un repositorio
Para enviar una imagen, primero debemos crear un repositorio en Docker Hub.
-
Vaya a Docker Hub e inicie sesión si es necesario.
-
Haga clic en el botón Create Repository.
-
Para el nombre del repositorio, use
getting-started
. Asegúrese de que la visibilidad seaPublic
. -
¡Haga clic en el botón Create!
Si miras en el lado derecho de la página, verás una sección llamada Docker commands. Esto proporciona un comando de ejemplo que deberá ejecutar para enviarlo a este repositorio.
{: style=width:75% } {: .text-center }
Empujando nuestra imagen
-
En la línea de comandos, intente ejecutar el comando push que ve en Docker Hub. Tenga en cuenta que su comando utilizará su namespace, no "docker".
$ docker push docker/getting-started The push refers to repository [docker.io/docker/getting-started] An image does not exist locally with the tag: docker/getting-started
¿Por qué falló? El comando push buscaba una imagen llamada docker/getting-started, pero no encontró una. Si ejecuta
docker image ls
, tampoco verá ninguna.Para solucionar este problema, necesitamos "etiquetar" nuestra imagen existente que hemos creado para darle otro nombre.
-
Inicie sesión en Docker Hub usando el comando
docker login -u YOUR-USER-NAME
. -
Use el comando
docker tag
para darle un nuevo nombre a la imagen degetting-started
. Asegúrese de cambiarYOUR-USER-NAME
por su ID de Docker.docker tag getting-started YOUR-USER-NAME/getting-started
-
Ahora intente su comando push de nuevo. Si está copiando el valor de Docker Hub, puede eliminar la parte
tagname
, ya que no agregamos una etiqueta al nombre de la imagen. Si no especifica una etiqueta, Docker usará una etiqueta llamadalatest
.docker push YOUR-USER-NAME/getting-started
Ejecutando nuestra imagen en una nueva instancia
Ahora que nuestra imagen se ha creado y enviado a un registry, ¡intentemos ejecutar nuestra aplicación en una instancia nueva que nunca ha visto esta imagen de contenedor! Para hacer esto, usaremos Play with Docker.
-
Abra su navegador en Play with Docker.
-
Inicie sesión con su cuenta de Docker Hub.
-
Una vez que haya iniciado sesión, haga clic en el enlace "+ ADD NEW INSTANCE" en la barra lateral izquierda. (Si no lo ve, amplíe un poco su navegador). Después de unos segundos, se abrirá una ventana de terminal en su navegador.
-
En la terminal, inicie su aplicación recién lanzada.
docker run -dp 3000:3000 YOUR-USER-NAME/getting-started
¡Debería ver que la imagen se baja y finalmente se inicia!
-
Haga clic en la insignia 3000 cuando aparezca y debería ver la aplicación con sus modificaciones. ¡Hurra! Si la insignia 3000 no aparece, puede hacer clic en el botón "Open Port" y escribir 3000.
Resumen
En esta sección, aprendimos cómo compartir nuestras imágenes empujándolas a un registry. Luego fuimos a una nueva instancia y pudimos ejecutar la imagen recién enviada. Esto es bastante común en las CI pipelines, donde el pipeline creará la imagen y la enviará a un registry y luego el entorno de producción puede usar la última versión de la imagen.
Ahora que lo hemos resuelto, volvamos a lo que notamos al final de la última sección. Como recordatorio, notamos que cuando reiniciamos la aplicación, perdimos todos los elementos de nuestra lista de tareas pendientes. Obviamente, esa no es una gran experiencia de usuario, ¡así que aprendamos cómo podemos conservar los datos durante los reinicios!