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á.
Executando as imagens oficiais do Amazon ECR Public ou Docker para o AWS CLI
Este tópico descreve como executar, controlar a versão e configurar a AWS CLI versão 2 no Docker usando a imagem oficial do Amazon Elastic Container Registry Public (Amazon ECR Public) ou do Docker Hub. Para obter mais informações sobre como usar o Docker, consulte a documentação do Docker
As imagens oficiais fornecem isolamento, portabilidade e segurança que oferecem suporte e manutenção AWS diretos. Isso permite que você use a AWS CLI versão 2 em um ambiente baseado em contêiner sem precisar gerenciar a instalação sozinho.
Tópicos
- Pré-requisitos
- Decidindo entre o Amazon ECR Public e o Docker Hub
- Execute as imagens oficiais da AWS CLI versão 2
- Observações sobre interfaces e compatibilidade com versões anteriores das imagens oficiais
- Usar versões e tags específicas
- Atualizar para a imagem oficial mais recente
- Compartilhar arquivos de host, credenciais, variáveis de ambiente e configuração
- Reduzir o comando de execução do Docker
Pré-requisitos
É necessário ter o Docker instalado. Para obter instruções de instalação, consulte o site do Docker
Para verificar a instalação do Docker, execute o seguinte comando e confirme se há uma saída.
$
docker --version
Docker version 19.03.1
Decidindo entre o Amazon ECR Public e o Docker Hub
Recomendamos usar o Amazon ECR Public em vez do Docker Hub para AWS CLI imagens. O Docker Hub tem um limite de taxa mais rígido para consumidores públicos, o que pode causar problemas de controle de utilização. Além disso, o Amazon ECR Public replica imagens em mais de uma região para fornecer forte disponibilidade e lidar com problemas de interrupção na região.
Para obter mais informações sobre os limites de taxa do Docker Hub, consulte Understanding Docker Hub Rate Limiting
Execute as imagens oficiais da AWS CLI versão 2
Na primeira vez que você usar o comando docker run
, a imagem mais recente será baixada no computador. Cada uso subsequente do comando docker run
é executado de sua cópia local.
Para executar as imagens do Docker AWS CLI versão 2, use o docker run
comando.
É assim que o comando funciona:
-
docker run --rm -it
: o equivalente ao executávelrepository/name
aws
. Sempre que você executar esse comando, o Docker ativará um contêiner da imagem baixada e executará o comandoaws
. Por padrão, a imagem usa a versão mais recente da AWS CLI versão 2.Por exemplo, para chamar o comando
aws --version
no Docker, execute o seguinte. -
--rm
: especifica a limpeza do contêiner após a saída do comando. -
-it
— Especifica a abertura de um pseudo- TTY com.stdin
Isso permite que você forneça entrada para a AWS CLI versão 2 enquanto ela está sendo executada em um contêiner, por exemplo, usando osaws help
comandosaws configure
e. Ao escolher se deseja omitir-it
, considere o seguinte:-
Se você estiver executando scripts, não será necessário usar
-it
. -
Se você estiver enfrentando erros em seus scripts, omitir
-it
de sua chamada do Docker poderá resolver o problema. -
Se você estiver tentando canalizar a saída,
-it
poderá causar erros e omitir-it
de sua chamada do Docker poderá resolver esse problema. Se quiser manter o sinalizador-it
, mas ainda desejar canalizar a saída, desabilitar a paginação do lado do cliente que a AWS CLI usa por padrão deve resolver o problema.
-
Para obter mais informações sobre o comando docker run
, consulte o Docker reference guide
Observações sobre interfaces e compatibilidade com versões anteriores das imagens oficiais
-
A única ferramenta compatível na imagem é a AWS CLI. Somente o executável
aws
deve ser executado diretamente. Por exemplo, emboraless
groff
estejam explicitamente instalados na imagem, eles não devem ser executados diretamente fora de um AWS CLI comando. -
O diretório de trabalho
/aws
é controlado pelo usuário. A imagem não será gravada nesse diretório, a menos que seja instruída pelo usuário na execução de um AWS CLI comando. -
Não há garantias de compatibilidade com versões anteriores quando se utiliza a etiqueta mais recente. Para garantir a compatibilidade com versões anteriores, é necessário fixar uma tag
<major.minor.patch>
específica, pois essas tags são imutáveis. Elas só serão enviadas uma vez.
Usar versões e tags específicas
A imagem oficial da AWS CLI versão 2 tem várias versões que você pode usar, começando pela versão2.0.6
. Para executar uma versão específica da AWS CLI versão 2, anexe a tag apropriada ao seu docker run
comando. Na primeira vez que você usar o comando docker run
com uma tag, a imagem mais recente com essa tag será baixada no computador. Cada uso subsequente do comando docker run
com essa etiqueta é executado de sua cópia local.
É possível usar dois tipos de etiqueta:
-
latest
— Define a versão mais recente da AWS CLI versão 2 para a imagem. Recomendamos usar a etiquetalatest
quando quiser a versão mais recente da AWS CLI versão 2. No entanto, não há garantias de compatibilidade com versões anteriores ao depender dessa etiqueta. A etiquetalatest
é usada por padrão no comandodocker run
. Para usar explicitamente a etiquetalatest
, anexe a etiqueta ao nome da imagem do contêiner. -
<major.minor.patch>
— Define uma versão específica da AWS CLI versão 2 para a imagem. Se você planeja usar uma imagem oficial na produção, recomendamos usar uma versão específica da AWS CLI versão 2 para garantir a compatibilidade com versões anteriores. Por exemplo, para executar a versão2.0.6
, anexe a versão ao nome da imagem do contêiner.
Atualizar para a imagem oficial mais recente
Como a imagem mais recente é baixada no computador somente na primeira vez que você usa o comando docker run
, é necessário extrair manualmente uma imagem atualizada. Para atualizar manualmente para a versão mais recente, recomendamos extrair a imagem marcada com a etiqueta latest
. Ao extrair a imagem, você baixa a versão mais recente no computador.
Compartilhar arquivos de host, credenciais, variáveis de ambiente e configuração
Como a AWS CLI versão 2 é executada em um contêiner, por padrão, não é CLI possível acessar o sistema de arquivos do host, que inclui configuração e credenciais. Para compartilhar o sistema de arquivos de host, as credenciais e a configuração com o contêiner, monte o diretório ~/.aws
do sistema de host no contêiner em /root/.aws
com o sinalizador -v
para o comando docker run
. Isso permite que a AWS CLI versão 2 em execução no contêiner localize as informações do arquivo host.
Para obter mais informações sobre o sinalizador -v
e a montagem, consulte o Docker reference guide
nota
Para obter mais informações sobre os arquivos config
e credentials
, consulte Configurações e configurações do arquivo de credenciais no AWS CLI.
Exemplo 1: Fornecer credenciais e configuração
Neste exemplo, estamos fornecendo a configuração e as credenciais de host ao executar o comando s3 ls
para listar os buckets no Amazon Simple Storage Service (Amazon S3). Os exemplos abaixo usam o local padrão para AWS CLI credenciais e arquivos de configuração. Para usar um local diferente, altere o caminho do arquivo.
Você pode chamar variáveis de ambiente do sistema específicas usando o sinalizador -e
. Para usar uma variável de ambiente, chame-a pelo nome.
Exemplo 2: Baixar um arquivo do Amazon S3 no sistema de host
Para alguns comandos da AWS CLI versão 2, você pode ler arquivos do sistema host no contêiner ou gravar arquivos do contêiner no sistema host.
Neste exemplo, baixamos o objeto do S3
s3://aws-cli-docker-demo/hello
no sistema de arquivos local, montando o diretório de trabalho atual no diretório /aws
do contêiner. Ao baixar o objeto hello
no diretório /aws
do contêiner, o arquivo também é salvo no diretório de trabalho atual do sistema de host.
Para confirmar que o arquivo baixado existe no sistema de arquivos local, execute o seguinte.
Linux e macOS
$
cat hello
Hello from Docker!
Janelas PowerShell
$
type hello
Hello from Docker!
Exemplo 3: Usando sua variável de AWS_PROFILE ambiente
Você pode chamar variáveis de ambiente do sistema específicas usando o sinalizador -e
. Chame cada variável de ambiente que gostaria de usar. Neste exemplo, estamos fornecendo as credenciais do host, a configuração e o AWS_PROFILE
variável de ambiente ao executar o s3 ls
comando para listar seus buckets no Amazon Simple Storage Service (Amazon S3).
Reduzir o comando de execução do Docker
Para reduzir o comando docker run
, sugerimos usar a capacidade do sistema operacional para criar um symbolic
link
alias
doskey
aws
, é possível executar um dos comandos a seguir.
-
Para obter acesso básico a comandos
aws
, execute o seguinte. -
Para obter acesso ao sistema de arquivos de host e às definições de configuração ao usar comandos
aws
, execute o indicado a seguir. -
Para atribuir uma versão específica para usar no alias
aws
, anexe a etiqueta de versão.
Depois de definir seu alias, você pode executar a AWS CLI versão 2 de dentro de um contêiner como se estivesse instalado em seu sistema host.
$
aws --version
aws-cli/2.17.20 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10