Cree y pruebe imágenes de Docker para los servicios de contenedores de Lightsail - Amazon Lightsail

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cree y pruebe imágenes de Docker para los servicios de contenedores de Lightsail

Con Docker, puede crear, ejecutar, probar e implementar aplicaciones distribuidas basadas en contenedores. Los servicios de contenedor de Amazon LightSail utilizan imágenes de contenedor Docker en implementaciones para lanzar contenedores.

En esta guía, le mostramos cómo crear una imagen de contenedor en la máquina local utilizando Dockerfile. Una vez creada la imagen, puede insertarla en el servicio de contenedor de Lightsail para implementarla.

Para completar los procedimientos de esta guía, debe tener un conocimiento básico de Docker y cómo funciona. Para obtener más información sobre Docker, consulte ¿Qué es Docker? y la descripción de Docker.

Contenido

Paso 1: completar los requisitos previos

Antes de comenzar, debe instalar el software necesario para crear contenedores y luego insertarlos en el servicio de contenedor de Lightsail. Por ejemplo, debe instalar y utilizar Docker para crear y compilar las imágenes de contenedor que luego puede utilizar con su servicio de contenedor de Lightsail. Para obtener más información, consulte Instalación de software para administrar imágenes de contenedor de Amazon Lightsail.

Paso 2: crear un Dockerfile y compilar una imagen de contenedor

Complete el siguiente procedimiento para crear un Dockerfile y compilar una imagen de contenedor de Docker mystaticwebsite a partir de él. La imagen del contenedor será para un sitio web estático simple alojado en un servidor web Apache en Ubuntu.

  1. Cree una carpeta mystaticwebsite en su máquina local donde almacenará su Dockerfile.

  2. Cree un Dockerfile en la carpeta que acaba de crear.

    Dockerfile no utiliza una extensión de archivo, como .TXT. El nombre de archivo es Dockerfile.

  3. Copie uno de los siguientes bloques de código en función de cómo desee configurar la imagen de contenedor y péguela en el Dockerfile:

    • Si desea crear una imagen simple de contenedor de sitio web estático con un mensaje de Hola mundo, copie el siguiente bloque de código y péguelo en el Dockerfile. En este ejemplo de código se utiliza la imagen Ubuntu 18.04. Las instrucciones RUN actualizan las cachés de los paquetes, instalan y configuran Apache, e imprimen un mensaje de Hola mundo en la raíz de documentos del servidor web. El folleto EXPOSE expone el puerto 80 en el contenedor y las instrucciones CMD inician el servidor web.

      FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Open port 80 EXPOSE 80 # Start Apache service CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
    • Si desea usar su propio conjunto de archivos HTML para la imagen de contenedor de sitio web estático, cree una carpeta html en la misma carpeta donde almacena el Dockerfile. A continuación, coloque sus archivos HTML en esa carpeta.

      Cuando los archivos HTML estén en la carpeta html, copie el siguiente bloque de código y péguelo en el Dockerfile. En este ejemplo de código se utiliza la imagen Ubuntu 18.04. Las instrucciones RUN actualizan las cachés de paquete e instala y configura Apache. La instrucción COPY copia el contenido de la carpeta html en la raíz de documentos del servidor web. El folleto EXPOSE expone el puerto 80 en el contenedor y las instrucciones CMD inician el servidor web.

      FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Copy html directory files COPY html /var/www/html/ # Open port 80 EXPOSE 80 CMD ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
  4. Abra una ventana de símbolo del sistema o terminal y cambie el directorio a la carpeta en la que está almacenando el Dockerfile.

  5. Ingrese el siguiente comando para compilar la imagen de contenedor utilizando Dockerfile en la carpeta. Este comando crea una nueva imagen de contenedor Docker llamada mystaticwebsite.

    docker build -t mystaticwebsite .

    Debería ver un mensaje que confirma que la imagen se ha compilado correctamente.

  6. Ingrese el siguiente comando para ver las imágenes de contenedor en la máquina local.

    docker images --filter reference=mystaticwebsite

    Debería ver un resultado similar al del siguiente ejemplo, que muestra la nueva imagen de contenedor creada.

    Resultado del comando de imágenes de Docker

    La imagen de contenedor recién compilada está lista para probarse usándola para ejecutar un nuevo contenedor en la máquina local. Continúe en la siguiente sección, Paso 3: ejecutar la nueva imagen de contenedor, de esta guía.

Paso 3: ejecutar la nueva imagen de contenedor

Siga los pasos que se indican a continuación para ejecutar la nueva imagen de contenedor que creó.

  1. En una ventana de símbolo del sistema o terminal, ingrese el siguiente comando para ejecutar la imagen de contenedor que compiló en la sección anterior Paso 2: crear un Dockerfile y compilar una imagen de contenedor de esta guía. La opción -p 8080:80 asigna el puerto 80 expuesto en el contenedor al puerto 8080 de la máquina local. La opción -d especifica que el contenedor debe ejecutarse en modo desconectado.

    docker container run -d -p 8080:80 --name mystaticwebsite mystaticwebsite:latest
  2. Ingrese el siguiente comando para ver los contenedores en ejecución.

    docker container ls -a

    Debería ver un resultado similar al del siguiente ejemplo, que muestra e nuevo contenedor en ejecución.

    Resultado del comando de contenedor de Docker
  3. Para confirmar que el contenedor está en funcionamiento, abra una nueva ventana del navegador y vaya a http://localhost:8080. Debería ver un mensaje similar al del siguiente ejemplo. Esto confirma que el contenedor está en funcionamiento en la máquina local.

    Sitio web estático que se ejecuta en un contenedor Docker

    La imagen de contenedor recién compilada está lista para insertarse en la cuenta de Lightsail para que pueda implementarla en el servicio de contenedor de Lightsail. Para obtener más información, consulte Inserción y administración de imágenes de contenedor en los servicios de contenedor de Amazon Lightsail.

(Opcional) Paso 4: limpiar los contenedores que se ejecutan en la máquina local

Ahora que ha creado una imagen de contenedor que puede insertar en el servicio de contenedor de Lightsail, es hora de limpiar los contenedores que se ejecutan en la máquina local como resultado de seguir los procedimientos de esta guía.

Complete los pasos siguientes para limpiar los contenedores que se ejecutan en la máquina local:

  1. Ejecute el siguiente comando para ver los contenedores que se ejecutan en la máquina local.

    docker container ls -a

    Debería ver un resultado similar al que se muestra a continuación, que enumera los nombres de los contenedores que se ejecutan en la máquina local.

    Resultado del comando de contenedor de Docker
  2. Ejecute el siguiente comando para quitar el contenedor en ejecución creado anteriormente en esta guía. Esto obliga al contenedor a detenerse y lo elimina permanentemente.

    docker container rm <ContainerName> --force

    En el comando, sustituya < ContainerName > por el nombre del contenedor que desee detener y elimínelo.

    Ejemplo:

    docker container rm mystaticwebsite --force

    Ahora se debe eliminar el contenedor que se creó como resultado de esta guía.

Pasos siguientes a la creación de imágenes de contenedor

Después de crear las imágenes de contenedor, insértelas en el servicio de contenedor de LightSail cuando esté listo para implementarlas. Para obtener más información, consulte Administrar imágenes del servicio de contenedores de Lightsail.