Cree la imagen del AWS IoT Greengrass contenedor a partir de un Dockerfile - AWS IoT Greengrass

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 la imagen del AWS IoT Greengrass contenedor a partir de un Dockerfile

AWSproporciona un Dockerfile que puede descargar y usar para ejecutar AWS IoT Greengrass el software principal en un contenedor de Docker. Los archivos Docker contienen código fuente para crear imágenes de contenedores. AWS IoT Greengrass

Antes de crear una imagen de AWS IoT Greengrass contenedor, debe configurar su Dockerfile para seleccionar la versión del software AWS IoT Greengrass principal que desea instalar. También puedes configurar las variables de entorno para elegir cómo aprovisionar los recursos durante la instalación y personalizar otras opciones de instalación. En esta sección se describe cómo configurar y crear una imagen de AWS IoT Greengrass Docker a partir de un Dockerfile.

Descargue el paquete Dockerfile

Puede descargar el paquete AWS IoT Greengrass Dockerfile desde: GitHub

Repositorio Docker de AWS Greengrass

Tras descargar el paquete, extraiga el contenido a la download-directory/aws-greengrass-docker-nucleus-version carpeta de su ordenador. El Dockerfile usa una versión anterior de Greengrass. Debe actualizar el archivo para usar la versión de Greengrass que desee.

Especifique la versión del software AWS IoT Greengrass principal

Usa el siguiente argumento de compilación en el Dockerfile para especificar la versión del software AWS IoT Greengrass principal que deseas usar en la imagen de AWS IoT Greengrass Docker. De forma predeterminada, el Dockerfile usa la última versión del software Core. AWS IoT Greengrass

GREENGRASS_RELEASE_VERSION

La versión del software AWS IoT Greengrass principal. De forma predeterminada, el Dockerfile descarga la última versión disponible del núcleo de Greengrass. Establezca el valor en la versión del núcleo que desee descargar.

Configuración de las variables de entorno

Las variables de entorno le permiten personalizar la forma en que se instala el software AWS IoT Greengrass Core en el contenedor de Docker. Puede configurar las variables de entorno para la imagen de AWS IoT Greengrass Docker de varias maneras.

  • Para usar las mismas variables de entorno para crear varias imágenes, configura las variables de entorno directamente en el Dockerfile.

  • Si lo utiliza docker run para iniciar el contenedor, pasa variables de entorno como argumentos en el comando o establece las variables de entorno en un archivo de variables de entorno y, a continuación, pasa el archivo como argumento. Para obtener más información sobre cómo configurar las variables de entorno en Docker, consulta las variables de entorno en la documentación de Docker.

  • Si solías docker-compose up iniciar tu contenedor, configura las variables de entorno en un archivo de variables de entorno y, a continuación, pasa el archivo como argumento. Para obtener más información sobre cómo configurar las variables de entorno en Compose, consulta la documentación de Docker.

Puedes configurar las siguientes variables de entorno para la imagen de AWS IoT Greengrass Docker.

nota

No modifique la TINI_KILL_PROCESS_GROUP variable en el Dockerfile. Esta variable permite reenviarlos SIGTERM a todos los PID del grupo de PID para que el software AWS IoT Greengrass principal se cierre correctamente cuando se detiene el contenedor de Docker.

GGC_ROOT_PATH

(Opcional) La ruta a la carpeta dentro del contenedor que se utilizará como raíz del software Core. AWS IoT Greengrass

Valor predeterminado: /greengrass/v2

PROVISION

(Opcional) Determina si el AWS IoT Greengrass núcleo AWS aprovisiona recursos.

Valor predeterminado: false

AWS_REGION

(Opcional) El Región de AWS que el software AWS IoT Greengrass principal utiliza para recuperar o crear AWS los recursos necesarios.

Valor predeterminado: us-east-1.

THING_NAME

(Opcional) El nombre de AWS IoT lo que se registra como este dispositivo principal. Si el elemento con este nombre no existe en el tuyoCuenta de AWS, será creado por el software AWS IoT Greengrass Core.

Debe especificar si PROVISION=true desea aplicar este argumento.

Predeterminado: GreengrassV2IotThing_ más un UUID aleatorio.

THING_GROUP_NAME

(Opcional) El nombre del grupo de elementos al AWS IoT que se agrega el dispositivo principal. AWS IoT Si una implementación se dirige a este grupo, este y otros dispositivos principales de ese grupo reciben ese despliegue cuando se conectan. AWS IoT Greengrass Si el grupo de cosas con este nombre no existe en su empresaCuenta de AWS, el software AWS IoT Greengrass Core lo crea.

Debe especificar si PROVISION=true desea aplicar este argumento.

TES_ROLE_NAME

(Opcional) El nombre de la función de IAM que se utilizará para adquirir AWS las credenciales que permiten al dispositivo principal de Greengrass interactuar con AWS los servicios. Si el rol con este nombre no existe en su cuentaCuenta de AWS, el software AWS IoT Greengrass principal lo crea con la GreengrassV2TokenExchangeRoleAccess política. Este rol no tiene acceso a los depósitos de S3 donde alojas los artefactos de los componentes. Por lo tanto, debes añadir permisos a los cubos y objetos de S3 de tus artefactos al crear un componente. Para obtener más información, consulte Autorizar a los dispositivos principales a interactuar con AWS los servicios.

Valor predeterminado: GreengrassV2TokenExchangeRole

TES_ROLE_ALIAS_NAME

(Opcional) El nombre del alias del AWS IoT rol que apunta al rol de IAM que proporciona AWS las credenciales para el dispositivo principal de Greengrass. Si el alias del rol con este nombre no existe en su cuentaCuenta de AWS, el software AWS IoT Greengrass principal lo crea y lo dirige al rol de IAM que especifique.

Valor predeterminado: GreengrassV2TokenExchangeRoleAlias

COMPONENT_DEFAULT_USER

(Opcional) El nombre o ID del usuario y grupo del sistema que el software AWS IoT Greengrass principal utiliza para ejecutar los componentes. Especifique el usuario y el grupo, separados por dos puntos. El grupo es opcional. Por ejemplo, puede especificar ggc_user:ggc_group o ggc_user.

  • Si se ejecuta como root, el usuario y el grupo que defina el archivo de configuración son de forma predeterminada. Si el archivo de configuración no define un usuario ni un grupo, el valor predeterminado es. ggc_user:ggc_group Si existen ggc_user o ggc_group no existen, el software los crea.

  • Si se ejecuta como un usuario que no es root, el software AWS IoT Greengrass Core utiliza ese usuario para ejecutar los componentes.

  • Si no especifica un grupo, el software AWS IoT Greengrass Core utiliza el grupo principal del usuario del sistema.

Para obtener más información, consulte Configure el usuario que ejecuta los componentes.

DEPLOY_DEV_TOOLS

Define si se debe descargar e implementar el componente CLI de Greengrass en la imagen del contenedor. Puede usar la CLI de Greengrass para desarrollar y depurar componentes localmente.

importante

Le recomendamos que utilice este componente únicamente en entornos de desarrollo, no en entornos de producción. Este componente proporciona acceso a información y operaciones que normalmente no necesitará en un entorno de producción. Siga el principio de privilegios mínimos implementando este componente solo en los dispositivos principales donde lo necesite.

Valor predeterminado: false

INIT_CONFIG

(Opcional) La ruta al archivo de configuración que se utilizará para instalar el software AWS IoT Greengrass principal. Puede usar esta opción para configurar nuevos dispositivos principales de Greengrass con una configuración de núcleo específica o para especificar recursos aprovisionados manualmente, por ejemplo. Debe montar el archivo de configuración en la ruta que especifique en este argumento.

TRUSTED_PLUGIN

Esta función está disponible para la versión 2.4.0 y versiones posteriores del componente núcleo de Greengrass.

(Opcional) La ruta a un archivo JAR para cargarlo como un complemento de confianza. Utilice esta opción para proporcionar archivos JAR a los complementos de aprovisionamiento, por ejemplo, para instalarlos con el aprovisionamiento de flota o el aprovisionamiento personalizado.

THING_POLICY_NAME

Esta función está disponible para la versión 2.4.0 y versiones posteriores del componente núcleo de Greengrass.

(Opcional) El nombre de la AWS IoT política que se debe adjuntar al certificado Thing de AWS IoT este dispositivo principal. Si la AWS IoT política con este nombre no existe en su software AWS IoT Greengrass Core Cuenta de AWS la crea.

Debe especificar si PROVISION=true desea aplicar este argumento.

nota

El software AWS IoT Greengrass Core crea una AWS IoT política permisiva de forma predeterminada. Puede limitar el alcance de esta política o crear una política personalizada en la que restrinja los permisos según su caso de uso. Para obtener más información, consulte AWS IoTPolítica mínima para los dispositivos AWS IoT Greengrass V2 principales.

Especifica las dependencias que deseas instalar

La instrucción RUN del AWS IoT Greengrass Dockerfile prepara el entorno del contenedor para ejecutar el instalador del software AWS IoT Greengrass principal. Puede personalizar las dependencias que se instalan antes de que el instalador del software AWS IoT Greengrass principal se ejecute en el contenedor de Docker.

Cree la imagen AWS IoT Greengrass

Usa el AWS IoT Greengrass Dockerfile para crear una imagen de AWS IoT Greengrass contenedor. Puede usar la CLI de Docker o la CLI de Docker Compose para crear la imagen e iniciar el contenedor. También puede usar la CLI de Docker para crear la imagen y, a continuación, usar Docker Compose para iniciar el contenedor a partir de esa imagen.

Docker
  1. En la máquina host, ejecuta el siguiente comando para cambiar al directorio que contiene el Dockerfile configurado.

    cd download-directory/aws-greengrass-docker-nucleus-version
  2. Ejecute el siguiente comando para crear la imagen del AWS IoT Greengrass contenedor a partir del Dockerfile.

    sudo docker build -t "platform/aws-iot-greengrass:nucleus-version" ./
Docker Compose
  1. En la máquina host, ejecuta el siguiente comando para cambiar al directorio que contiene el Dockerfile y el archivo Compose.

    cd download-directory/aws-greengrass-docker-nucleus-version
  2. Ejecuta el siguiente comando para usar el archivo Compose para crear la imagen del AWS IoT Greengrass contenedor.

    docker-compose -f docker-compose.yml build

Ha creado correctamente la imagen del AWS IoT Greengrass contenedor. La imagen de Docker tiene instalado el software AWS IoT Greengrass principal. Ahora puede ejecutar el software AWS IoT Greengrass principal en un contenedor de Docker.