As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Crie a imagem do AWS IoT Greengrass contêiner a partir de um Dockerfile
AWSfornece um Dockerfile que você pode baixar e usar para executar o software AWS IoT Greengrass Core em um contêiner Docker. Os Dockerfiles contêm código-fonte para criar imagens de AWS IoT Greengrass contêineres.
Antes de criar uma imagem de AWS IoT Greengrass contêiner, você deve configurar seu Dockerfile para selecionar a versão do software AWS IoT Greengrass Core que você deseja instalar. Você também pode configurar variáveis de ambiente para escolher como provisionar recursos durante a instalação e personalizar outras opções de instalação. Esta seção descreve como configurar e criar uma imagem do AWS IoT Greengrass Docker a partir de um Dockerfile.
Baixe o pacote Dockerfile
Você pode baixar o pacote AWS IoT Greengrass Dockerfile em: GitHub
Repositório Docker do AWS Greengrass
Depois de baixar o pacote, extraia o conteúdo para a
pasta no seu computador. O Dockerfile usa uma versão mais antiga do Greengrass. Você deve atualizar o arquivo para usar a versão do Greengrass desejada.download-directory/
aws-greengrass-docker-nucleus-version
Especifique a versão AWS IoT Greengrass do software principal
Use o seguinte argumento de compilação no Dockerfile para especificar a versão do software AWS IoT Greengrass Core que você deseja usar na imagem do AWS IoT Greengrass Docker. Por padrão, o Dockerfile usa a versão mais recente do software AWS IoT Greengrass Core.
GREENGRASS_RELEASE_VERSION
-
A versão do software AWS IoT Greengrass Core. Por padrão, o Dockerfile baixa a versão mais recente disponível do núcleo do Greengrass. Defina o valor para a versão do núcleo que você deseja baixar.
Definição de variáveis de ambiente
As variáveis de ambiente permitem que você personalize como o software AWS IoT Greengrass Core é instalado no contêiner Docker. Você pode definir variáveis de ambiente para sua imagem do AWS IoT Greengrass Docker de várias maneiras.
-
Para usar as mesmas variáveis de ambiente para criar várias imagens, defina as variáveis de ambiente diretamente no Dockerfile.
-
Se você usa
docker run
para iniciar seu contêiner, passe variáveis de ambiente como argumentos no comando ou defina variáveis de ambiente em um arquivo de variáveis de ambiente e, em seguida, passe o arquivo como argumento. Para obter mais informações sobre a configuração de variáveis de ambiente no Docker, consulte as variáveis de ambientena documentação do Docker. -
Se você usa
docker-compose up
para iniciar seu contêiner, defina as variáveis de ambiente em um arquivo de variáveis de ambiente e, em seguida, passe o arquivo como argumento. Para obter mais informações sobre a configuração de variáveis de ambiente no Compose, consulte a documentação do Docker.
Você pode configurar as seguintes variáveis de ambiente para a imagem do AWS IoT Greengrass Docker.
nota
Não modifique a TINI_KILL_PROCESS_GROUP
variável no Dockerfile. Essa variável permite o encaminhamento SIGTERM
para todos os PIDs no grupo PID para que o software AWS IoT Greengrass principal possa ser desligado corretamente quando o contêiner do Docker for interrompido.
GGC_ROOT_PATH
-
(Opcional) O caminho para a pasta dentro do contêiner a ser usada como raiz do software AWS IoT Greengrass Core.
Padrão:
/greengrass/v2
PROVISION
-
(Opcional) Determina se o AWS IoT Greengrass Core provisiona AWS recursos.
-
Se você especificar
true
, o software AWS IoT Greengrass Core registra a imagem do contêiner como uma AWS IoT coisa e provisiona os AWS recursos que o dispositivo principal do Greengrass exige. O software AWS IoT Greengrass Core provisiona AWS IoT qualquer coisa, (opcional) qualquer grupo de AWS IoT coisas, uma função do IAM e um alias de AWS IoT função. Para ter mais informações, consulte Execute AWS IoT Greengrass em um contêiner Docker com provisionamento automático de recursos. -
Se você especificar
false
, deverá criar um arquivo de configuração para fornecer ao instalador AWS IoT Greengrass principal que especifique o uso dos AWS recursos e certificados que você criou manualmente. Para ter mais informações, consulte Execute AWS IoT Greengrass em um contêiner Docker com provisionamento manual de recursos.
Padrão:
false
-
AWS_REGION
-
(Opcional) O Região da AWS que o software AWS IoT Greengrass Core usa para recuperar ou criar AWS os recursos necessários.
Padrão:
us-east-1
. THING_NAME
-
(Opcional) O nome da AWS IoT coisa que você registra como esse dispositivo principal. Se a coisa com esse nome não existir no seuConta da AWS, o software AWS IoT Greengrass Core a cria.
Você deve especificar
PROVISION=true
para aplicar esse argumento.Padrão:
GreengrassV2IotThing_
mais um UUID aleatório. THING_GROUP_NAME
-
(Opcional) O nome do grupo ao AWS IoT qual você adiciona esse dispositivo principal é AWS IoT Se uma implantação for direcionada a esse grupo, esse e outros dispositivos principais desse grupo receberão essa implantação quando se conectaremAWS IoT Greengrass. Se o grupo de coisas com esse nome não existir no seuConta da AWS, o software AWS IoT Greengrass Core o criará.
Você deve especificar
PROVISION=true
para aplicar esse argumento. TES_ROLE_NAME
-
(Opcional) O nome da função do IAM a ser usada para adquirir AWS credenciais que permitem que o dispositivo principal do Greengrass interaja com os AWS serviços. Se a função com esse nome não existir na suaConta da AWS, o software AWS IoT Greengrass Core a criará com a
GreengrassV2TokenExchangeRoleAccess
política. Essa função não tem acesso aos buckets do S3 nos quais você hospeda artefatos de componentes. Portanto, você deve adicionar permissões aos buckets e objetos do S3 dos seus artefatos ao criar um componente. Para ter mais informações, consulte Autorize os dispositivos principais a interagir com os serviços AWS.Padrão:
GreengrassV2TokenExchangeRole
TES_ROLE_ALIAS_NAME
-
(Opcional) O nome do alias da AWS IoT função que aponta para a função do IAM que fornece AWS credenciais para o dispositivo principal do Greengrass. Se o alias de função com esse nome não existir no seuConta da AWS, o software AWS IoT Greengrass Core o criará e o direcionará para a função do IAM que você especificar.
Padrão:
GreengrassV2TokenExchangeRoleAlias
COMPONENT_DEFAULT_USER
-
(Opcional) O nome ou ID do usuário e do grupo do sistema que o software AWS IoT Greengrass Core usa para executar componentes. Especifique o usuário e o grupo, separados por dois pontos. O grupo é opcional. Por exemplo, é possível especificar
ggc_user:ggc_group
ouggc_user
.-
Se você executar como root, o padrão é o usuário e o grupo definidos pelo arquivo de configuração. Se o arquivo de configuração não definir um usuário e um grupo, o padrão é.
ggc_user:ggc_group
Se existiremggc_user
ouggc_group
não, o software os cria. -
Se você executa como usuário não root, o software AWS IoT Greengrass Core usa esse usuário para executar componentes.
-
Se você não especificar um grupo, o software AWS IoT Greengrass Core usa o grupo primário do usuário do sistema.
Para ter mais informações, consulte Configurar o usuário que executa os componentes.
-
DEPLOY_DEV_TOOLS
-
Define se o componente CLI do Greengrass deve ser baixado e implantado na imagem do contêiner. Você pode usar a CLI do Greengrass para desenvolver e depurar componentes localmente.
Importante
Recomendamos que você use esse componente somente em ambientes de desenvolvimento, não em ambientes de produção. Esse componente fornece acesso a informações e operações que você normalmente não precisará em um ambiente de produção. Siga o princípio do menor privilégio implantando esse componente somente nos dispositivos principais onde você precisar dele.
Padrão:
false
INIT_CONFIG
-
(Opcional) O caminho para o arquivo de configuração a ser usado para instalar o software AWS IoT Greengrass Core. Você pode usar essa opção para configurar novos dispositivos principais do Greengrass com uma configuração de núcleo específica ou para especificar recursos provisionados manualmente, por exemplo. Você deve montar seu arquivo de configuração no caminho especificado nesse argumento.
TRUSTED_PLUGIN
-
Esse recurso está disponível para a versão 2.4.0 e posterior do componente núcleo do Greengrass.
(Opcional) O caminho para um arquivo JAR a ser carregado como um plug-in confiável. Use essa opção para fornecer arquivos JAR do plug-in de provisionamento, como para instalação com provisionamento de frota ou provisionamento personalizado.
THING_POLICY_NAME
-
Esse recurso está disponível para a versão 2.4.0 e posterior do componente núcleo do Greengrass.
(Opcional) O nome da AWS IoT política a ser anexada ao certificado de AWS IoT coisas desse dispositivo principal. Se a AWS IoT política com esse nome não existir em sua, Conta da AWS o software AWS IoT Greengrass Core a criará.
Você deve especificar
PROVISION=true
para aplicar esse argumento.nota
O software AWS IoT Greengrass Core cria uma AWS IoT política permissiva por padrão. Você pode definir o escopo dessa política ou criar uma política personalizada na qual restrinja as permissões para seu caso de uso. Para ter mais informações, consulte AWS IoTPolítica mínima para dispositivos AWS IoT Greengrass V2 principais.
Especifique as dependências a serem instaladas
A instrução RUN no AWS IoT Greengrass Dockerfile prepara o ambiente do contêiner para executar o AWS IoT Greengrass instalador do software Core. Você pode personalizar as dependências que são instaladas antes da execução do instalador do software AWS IoT Greengrass Core no contêiner do Docker.
Crie a AWS IoT Greengrass imagem
Use o AWS IoT Greengrass Dockerfile para criar uma imagem de AWS IoT Greengrass contêiner. Você pode usar a CLI do Docker ou a CLI do Docker Compose para criar a imagem e iniciar o contêiner. Você também pode usar a CLI do Docker para criar a imagem e, em seguida, usar o Docker Compose para iniciar seu contêiner a partir dessa imagem.
Você criou com sucesso a imagem do AWS IoT Greengrass contêiner. A imagem do Docker tem o software AWS IoT Greengrass Core instalado. Agora você pode executar o software AWS IoT Greengrass Core em um contêiner Docker.