getting-started/docs/tutorial/sharing-our-app/index.es.md
Publio Estupiñán 2fd5b07926 Multi language support (Spanish)
mkdocs-i18n implemented for new languages
Spanish translation
2021-05-30 21:38:41 -05:00

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.

  1. Vaya a Docker Hub e inicie sesión si es necesario.

  2. Haga clic en el botón Create Repository.

  3. Para el nombre del repositorio, use getting-started. Asegúrese de que la visibilidad sea Public.

  4. ¡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.

Docker command with push example{: style=width:75% } {: .text-center }

Empujando nuestra imagen

  1. 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.

  2. Inicie sesión en Docker Hub usando el comando docker login -u YOUR-USER-NAME.

  3. Use el comando docker tag para darle un nuevo nombre a la imagen de getting-started. Asegúrese de cambiar YOUR-USER-NAME por su ID de Docker.

    docker tag getting-started YOUR-USER-NAME/getting-started
    
  4. 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 llamada latest.

    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.

  1. Abra su navegador en Play with Docker.

  2. Inicie sesión con su cuenta de Docker Hub.

  3. 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.

    Play with Docker add new instance{: style=width:75% } {: .text-center }

  4. 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!

  5. 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!