

 AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. [Saiba mais](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

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

# Tutorial do Docker para AWS Cloud9
<a name="sample-docker"></a>

Este tutorial mostra como conectar um ambiente de desenvolvimento AWS Cloud9 SSH a um contêiner Docker em execução dentro de uma instância do Amazon Linux no Amazon EC2. Isso permite que você use o AWS Cloud9 IDE para trabalhar com código e arquivos dentro de um contêiner Docker e executar comandos nesse contêiner. Para obter informações sobre o Docker, consulte [O que é o Docker](https://www.docker.com/what-docker) no site do Docker.

Seguir este tutorial e criar essa amostra pode resultar em cobranças em sua AWS conta. Isso inclui possíveis cobranças por serviços como o Amazon EC2. Para obter mais informações, consulte [Preço do Amazon EC2](https://aws.amazon.com/ec2/pricing/).

**Topics**
+ [Pré-requisitos](#sample-docker-prereqs)
+ [Etapa 1: Instalar e executar o Docker](#sample-docker-install)
+ [Etapa 2: Compilar a imagem](#sample-docker-build)
+ [Etapa 3: Executar o contêiner](#sample-docker-run)
+ [Etapa 4: Criar o ambiente](#sample-docker-env)
+ [Etapa 5: Executar o código](#sample-docker-code)
+ [Etapa 6: limpar](#sample-docker-clean-up)

## Pré-requisitos
<a name="sample-docker-prereqs"></a>
+  **Você deve ter uma instância do Amazon EC2 executando o Amazon Linux ou Ubuntu Server.** Este exemplo pressupõe que você já tenha uma instância do Amazon EC2 executando o Amazon Linux ou o Ubuntu Server em AWS sua conta. Para iniciar uma instância do Amazon EC2, consulte [Launch a Linux Virtual Machine](https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/) (Iniciar uma máquina virtual do Linux). Na página **Choose an Amazon Machine Image (AMI)** (Selecionar uma Imagem de máquina da Amazon - AMI) do assistente, selecione uma AMI cujo nome exibido começa com **Amazon Linux AMI** ou **Ubuntu Server**.
+  **Se a instância do Amazon EC2 for executada em uma Amazon VPC, haverá requisitos adicionais.** Consulte [Configurações de VPC para ambientes de desenvolvimento AWS Cloud9](vpc-settings.md).
+  **A instância do Amazon EC2 deve ter pelo menos 8 a 16 GB de espaço livre em disco disponível.** Essa amostra usa imagens do Docker com mais de 3 GB de tamanho e pode usar incrementos adicionais de 3 GB ou mais de espaço em disco para compilar imagens. Se você tentar executar essa amostra em um disco com 8 GB ou menos de espaço livre, descobrimos que a imagem do Docker poderá não ser compilada ou o contêiner do Docker poderá não ser executado. Para verificar o espaço livre em disco da instância, execute um comando, como ** `df -h` ** (para "informações do sistema de arquivos do disco em formato legível"), na instância. Para aumentar o tamanho do disco em uma instância existente, consulte [Modificar um volume](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modify-volume.html) no *Manual do usuário do Amazon EC2*.

## Etapa 1: Instalar e executar o Docker
<a name="sample-docker-install"></a>

Nesta etapa, verifique se o Docker está instalado na instância do Amazon EC2 e instale-o, caso ainda não esteja. Depois de instalar o Docker, execute-o na instância.

1. Conecte-se à instância do Amazon EC2; em execução usando um cliente SSH, como o utilitário ** `ssh` ** ou o PuTTY. Para fazer isso, consulte a "Etapa 3: Conectar-se à instância" em [Iniciar uma máquina virtual do Linux](https://aws.amazon.com/getting-started/tutorials/launch-a-virtual-machine/).

1. Verifique se o Docker está instalado na instância. Para fazer isso, execute o comando ** `docker` ** na instância com a opção ** `--version` **.

   ```
   docker --version
   ```

   Se o Docker estiver instalado, a versão do Docker e o número de compilação são exibidos. Nesse caso, avance para a etapa 5 desse procedimento.

1. Instalar o Docker. Para fazer isso, execute o comando ** `yum` ** ou ** `apt` ** com a ação ** `install` **, especificando o pacote ** `docker` ** ou ** `docker.io` ** a ser instalado.

   Para Amazon Linux:

   ```
   sudo yum install -y docker
   ```

   Para Ubuntu Server:

   ```
   sudo apt install -y docker.io
   ```

1. Confirme se o Docker está instalado. Para fazer isso, execute o comando ** `docker --version` ** novamente. A versão do Docker e o número de compilação são exibidos.

1. Execute o Docker. Para fazer isso, execute o comando ** `service` ** com o serviço ** `docker` ** e a ação ** `start` **.

   ```
   sudo service docker start
   ```

1. Confirme se o Docker está em execução. Para fazer isso, execute o comando ** `docker` ** com a ação ** `info` **.

   ```
   sudo docker info
   ```

   Se o Docker estiver em execução, serão exibidas informações sobre ele.

## Etapa 2: Compilar a imagem
<a name="sample-docker-build"></a>

Nesta etapa, você usará eum Dockerfile para compilar uma imagem do Docker na instância. Essas amostra usa uma imagem que inclui Node.js e uma amostra de aplicativo de servidor de bate-papo.

1. Na instância, crie o Dockerfile. Para fazer isso, com o cliente SSH ainda conectado à instância, no diretório `/tmp` na instância, crie um arquivo chamado `Dockerfile`. Por exemplo, execute o comando ** `touch` ** da seguinte forma.

   ```
   sudo touch /tmp/Dockerfile
   ```

1. Adicione o conteúdo a seguir ao arquivo `Dockerfile`.

   ```
   # Build a Docker image based on the Amazon Linux 2 Docker image.
   FROM amazonlinux:2
   
   # install common tools
   RUN yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
   RUN yum update -y
   RUN yum install -y sudo bash curl wget git man-db nano vim bash-completion tmux  gcc gcc-c++ make tar
   
   # Enable the Docker container to communicate with AWS Cloud9 by
   # installing SSH.
   RUN yum install -y openssh-server
   
   # Ensure that Node.js is installed.
   RUN yum install -y nodejs
   
   # Create user and enable root access
   RUN useradd --uid 1000 --shell /bin/bash -m --home-dir /home/ubuntu ubuntu && \
       sed -i 's/%wheel\s.*/%wheel ALL=NOPASSWD:ALL/' /etc/sudoers && \
       usermod -a -G wheel ubuntu
   
   # Add the AWS Cloud9 SSH public key to the Docker container.
   # This assumes a file named authorized_keys containing the
   # AWS Cloud9 SSH public key already exists in the same
   # directory as the Dockerfile.
   RUN mkdir -p /home/ubuntu/.ssh
   ADD ./authorized_keys /home/ubuntu/.ssh/authorized_keys
   RUN chown -R ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys && \
   chmod 700 /home/ubuntu/.ssh && \
   chmod 600 /home/ubuntu/.ssh/authorized_keys
   
   # Update the password to a random one for the user ubuntu.
   RUN echo "ubuntu:$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)" | chpasswd
   
   # pre-install Cloud9 dependencies
   USER ubuntu
   RUN curl https://d2j6vhu5uywtq3.cloudfront.net/static/c9-install.sh | bash
   
   USER root
   # Start SSH in the Docker container.
   CMD ssh-keygen -A && /usr/sbin/sshd -D
   ```

   Para adicionar o conteúdo anterior ao arquivo `Dockerfile`, use o utilitário ** `vi` ** na instância da seguinte forma.

   1. Use o AWS Cloud9 para abrir e editar o `/tmp/Dockerfile` arquivo.

      ```
      sudo vi /tmp/Dockerfile
      ```

   1. Cole o conteúdo anterior no arquivo `Dockerfile`. Se não tiver certeza sobre como fazer isso, consulte a documentação do seu cliente SSH.

   1. Alterne para o modo de comandos. Para fazer isso, pressione a tecla `Esc`. (`-- INSERT --` desaparece na parte inferior da janela.)

   1. Digite `:wq` (para gravar no arquivo `/tmp/Dockerfile`, salvar o arquivo e, em seguida, sair do ** `vi` **) e, em seguida, pressione `Enter`.
**nota**  
Você pode acessar uma lista atualizada com frequência de imagens do AWS CodeBuild Docker em. Para obter mais informações, consulte [as imagens do Docker fornecidas CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html) no *Guia do AWS CodeBuild usuário*.

1. Na instância, crie um arquivo que contenha a chave pública AWS Cloud9 SSH para o contêiner do Docker usar. Para fazer isso, no mesmo diretório que o arquivo `Dockerfile`, crie um arquivo chamado `authorized_keys`, por exemplo, executando o comando ** `touch` **.

   ```
   sudo touch /tmp/authorized_keys
   ```

1. Adicione a chave pública AWS Cloud9 SSH ao `authorized_keys` arquivo. Para obter a chave pública AWS Cloud9 SSH, faça o seguinte:

   1. Abra o AWS Cloud9 console em [https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/).

   1. Na barra de AWS navegação, no seletor de AWS região, escolha a AWS região em que você deseja criar o ambiente de AWS Cloud9 desenvolvimento posteriormente neste tópico.

   1. Se uma página de boas-vindas for exibida, em **Novo AWS Cloud9 ambiente**, escolha **Criar ambiente**. Caso contrário, selecione **Criar ambiente**.

   1. Na página **Name environment (Nomear ambiente)**, em **Name (Nome)**, digite um nome para o ambiente. (Aqui o nome não importa. Mais tarde você escolherá um nome diferente).

   1. Escolha **Próxima etapa**.

   1. Em **Environment type (Tipo de ambiente)**, selecione **Connect and run in remote server (SSH) (Conectar e executar no servidor remoto (SSH))**.

   1. Expanda **View public SSH key (Exibir chave SSH pública)**.

   1. Escolha **Copy key to clipboard (Copiar chave para a área de transferência)**. (Ela se encontra entre **View public SSH key (Exibir chave SSH pública)** e **Advanced settings (Configurações avançadas)**.)

   1. Escolha **Cancelar**.

   1. Cole o conteúdo da área de transferência no arquivo `authorized_keys` e, em seguida, salve o arquivo. Por exemplo, use o utilitário ** `vi` **, conforme descrito anteriormente nessa etapa.

1. Construa a imagem executando o comando ** `docker` ** com a ação ** `build` **, adicionando a tag `cloud9-image:latest` à imagem e especificando o caminho que o arquivo `Dockerfile` deve usar.

   ```
   sudo docker build -t cloud9-image:latest /tmp
   ```

   Se for bem-sucedida, as últimas duas linhas da saída da compilação exibem `Successfully built` e `Successfully tagged`.

   Para confirmar se o Docker compilou a imagem com sucesso, execute o comando ** `docker` ** com a ação `image ls`.

   ```
   sudo docker image ls
   ```

   Se for bem-sucedida, a saída mostra uma entrada onde o campo `REPOSITORY` está definido como `cloud9-image` e o campo `TAG` está definido como `latest`.

1. Anote o endereço IP público da instância do Amazon EC2. Você precisará disso para o [Etapa 4: Criar o ambiente](#sample-docker-env). Se não tiver certeza de qual é o endereço IP público da instância, execute o seguinte comando na instância para obtê-lo.

   ```
   curl http://169.254.169.254/latest/meta-data/public-ipv4
   ```

## Etapa 3: Executar o contêiner
<a name="sample-docker-run"></a>

Nesta etapa, execute um contêiner do Docker na instância. Esse contêiner se baseia na imagem compilada na etapa anterior.

1. Para executar o contêiner do Docker, execute o comando ** `docker` ** na instância com a ação ** `run` ** e as opções a seguir.

   ```
   sudo docker run -d -it --expose 9090 -p 0.0.0.0:9090:22 --name cloud9 cloud9-image:latest
   ```
   +  `-d` executa o contêiner no modo desanexado, saindo sempre que o processo raiz usado para executar o contêiner (nessa amostra, o cliente SSH) for encerrado.
   +  `-it` executa o contêiner com um pseudo-TTY alocado e mantém STDIN aberto, mesmo se o contêiner não estiver anexado.
   +  `--expose` disponibiliza a porta especificada (nessa amostra, porta `9090`) no contêiner.
   +  `-p` disponibiliza a porta especificada internamente para a instância do Amazon EC2 pelo endereço IP e a porta especificados. Neste exemplo, a porta `9090` no contêiner pode ser acessada internamente através da porta `22` na instância do Amazon EC2.
   +  `--name` é um nome legível para o contêiner (nessa amostra, `cloud9`).
   +  `cloud9-image:latest` é o nome legível da imagem compilada usado para executar o contêiner.

   Para confirmar se o Docker está executando o contêiner com sucesso, execute o comando ** `docker` ** com a ação `container ls`.

   ```
   sudo docker container ls
   ```

   Se for bem-sucedida, a saída mostra uma entrada onde o campo `IMAGE` está definido como `cloud9-image:latest` e o campo `NAMES` está definido como `cloud9`.

1. Faça login no contêiner em execução. Para fazer isso, execute o comando ** `docker` ** com a ação ** `exec` ** e as opções a seguir.

   ```
   sudo docker exec -it cloud9 bash
   ```
   +  `-it` executa o contêiner com um pseudo-TTY alocado e mantém STDIN aberto, mesmo se o contêiner não estiver anexado.
   +  `cloud9` é o nome legível do contêiner em execução.
   +  `bash` inicia o shell padrão no contêiner em execução.

   Se for bem-sucedido, o prompt do terminal muda para exibir o nome do usuário conectado para o contêiner e o ID do contêiner.
**nota**  
Caso queira fazer logout do contêiner em execução, execute o comando ** `exit` **. O prompt do terminal muda de volta para exibir o nome do usuário conectado para a instância e o DNS privado da instância. O contêiner ainda deve estar em execução.

1. Para o diretório no contêiner em execução a partir do qual você AWS Cloud9 deseja iniciar após o login, defina suas permissões de acesso como **`rwxr-xr-x`**. Isso significa read-write-execute permissões para o proprietário, permissões de leitura e execução para o grupo e permissões de leitura e execução para outros. Por exemplo, se o caminho do diretório for `~`, defina essas permissões no diretório executando o comando ** `chmod` ** no contêiner em execução, da seguinte forma.

   ```
   sudo chmod u=rwx,g=rx,o=rx ~
   ```

1. Anote o caminho para o diretório no contêiner em execução que contém o binário Node.js, pois isso será necessário para [Etapa 4: Criar o ambiente](#sample-docker-env). Se não tiver certeza sobre qual é o caminho, execute o comando a seguir no contêiner em execução para obtê-lo.

   ```
   which node
   ```

## Etapa 4: Criar o ambiente
<a name="sample-docker-env"></a>

Nesta etapa, você usa AWS Cloud9 para criar um ambiente de desenvolvimento AWS Cloud9 SSH e conectá-lo ao contêiner Docker em execução. Depois de AWS Cloud9 criar o ambiente, ele exibe o AWS Cloud9 IDE para que você possa começar a trabalhar com os arquivos e o código no contêiner.

Você cria um ambiente de desenvolvimento AWS Cloud9 SSH com o AWS Cloud9 console. Não é possível criar um ambiente de SSH usando a CLI.

### Pré-requisitos
<a name="prerequisites"></a>
+ Primeiro você precisa concluir as etapas em [Conf AWS Cloud9 iguração](setting-up.md). Dessa forma, você pode fazer login no console do AWS Cloud9 e criar ambientes.
+ Identifique uma instância de computação em nuvem existente (por exemplo, uma instância do Amazon EC2 na Conta da AWS sua) ou seu próprio servidor que você AWS Cloud9 deseja conectar ao ambiente.
+ Certifique-se de que a instância existente ou seu próprio servidor atende a todos os [Requisitos de host SSH](ssh-settings.md#ssh-settings-requirements). Isso inclui ter versões específicas do Python, Node.js e de outros componentes já instaladas; definir permissões específicas no diretório em que você deseja que o AWS Cloud9 seja iniciado após fazer login; e configurar qualquer Amazon Virtual Private Cloud associada.

### Crie um ambiente SSH
<a name="create-the-envsshtitle"></a>

1. Atenda aos pré-requisitos anteriores.

1. Conecte-se à instância existente ou ao seu próprio servidor usando um cliente SSH, se ainda não estiver conectado a ele. Isso garante que você possa adicionar o valor necessário da chave SSH pública à instância ou ao servidor. Isso é descrito posteriormente neste procedimento.
**nota**  
Para se conectar a uma instância de Nuvem AWS computação existente, consulte um ou mais dos seguintes recursos:  
Para o Amazon EC2, consulte [Conectar-se à instância do Linux usando SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) no *Manual do usuário do Amazon EC2*.
Para o Amazon Lightsail, consulte [Conectar-se à instância Lightsail do Linux/baseada em Unix](https://lightsail.aws.amazon.com/ls/docs/how-to/article/lightsail-how-to-connect-to-your-instance-virtual-private-server) na *Documentação do Amazon Lightsail*.
Para AWS Elastic Beanstalk isso, consulte [Listagem e conexão com instâncias de servidor](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.ec2connect.html) no *Guia do AWS Elastic Beanstalk desenvolvedor*.
Para AWS OpsWorks isso, consulte [Como usar SSH para fazer login em uma instância do Linux](https://docs.aws.amazon.com/opsworks/latest/userguide/workinginstances-ssh.html) no *Guia do AWS OpsWorks usuário*.
Para outras Serviços da AWS informações, consulte a documentação desse serviço específico.
Para se conectar ao seu próprio servidor, use SSH. O SSH já está instalado nos sistemas operacionais macOS e Linux. Para se conectar ao seu servidor usando SSH no Windows, você deve instalar o [PuTTY](https://www.putty.org/).

1. Faça login no AWS Cloud9 console, em [https://console.aws.amazon.com/cloud9/](https://console.aws.amazon.com/cloud9/).

1. Depois de entrar no AWS Cloud9 console, na barra de navegação superior, escolha um Região da AWS para criar o ambiente. Para obter uma lista dos disponíveis Regiões da AWS, consulte [AWS Cloud9](https://docs.aws.amazon.com/general/latest/gr/rande.html#cloud9_region)no *Referência geral da AWS*.  
![\[Seletor de região no console AWS Cloud9\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/consolas_region_new_UX.png)

1. Se esta for a primeira vez que você cria um ambiente de desenvolvimento, uma página de boas-vindas será exibida. No painel **Novo AWS Cloud9 ambiente**, escolha **Criar ambiente**.

   Se você já criou ambientes de desenvolvimento anteriormente, também poderá expandir o painel à esquerda da tela. Selecione **Your environments** (Seus ambientes) e, depois, selecione **Create environment** (Criar ambiente).

   Na página de **boas-vindas**:  
![\[Selecione o botão Create environment (Criar ambiente) se a página de boas-vindas não for exibida\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/create_welcome_env_new_UX.png)

   Ou na página **Seus ambientes**:  
![\[Selecione o botão Create environment (Criar ambiente) se a página de boas-vindas não for exibida\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/console_create_env_new_UX.png)

1. Na página **Create environment** (Criar ambiente), digite um nome para o ambiente.

1. Em **Descrição**, insira algo sobre seu ambiente. Para este tutorial, use `This environment is for the AWS Cloud9 tutorial.`

1. Em **Environment type** (Tipo de ambiente), selecione **Existing Compute** (Computação existente) entre as seguintes opções:
   + **Nova instância do EC2** — Lança uma instância do Amazon EC2 AWS Cloud9 que pode se conectar diretamente via SSH.
   + **Computação existente — Lança** uma instância do Amazon EC2 que não exige nenhuma porta de entrada aberta. AWS Cloud9 se conecta à instância por meio de [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html).
     + Se você selecionar a opção **Existing compute** (Computação existente), um perfil de serviço e um perfil de instância do IAM serão criados automaticamente para permitir que o Systems Manager interaja com a instância do EC2 em seu nome. Você pode visualizar os nomes na seção **Perfil de serviço e perfil de instância para acesso ao Systems Manager** mais abaixo na interface. Para obter mais informações, consulte [Acessando instâncias EC2 sem entrada com AWS Systems Manager](ec2-ssm.md). 
**Atenção**  
Criar uma instância do EC2 para o seu ambiente pode resultar em possíveis cobranças Conta da AWS para o Amazon EC2. Não há custo adicional para usar o Systems Manager para gerenciar conexões com sua instância do EC2.
**Atenção**  
AWS Cloud9 usa a chave pública SSH para se conectar com segurança ao seu servidor. Para estabelecer a conexão segura, adicione nossa chave pública ao seu arquivo `~/.ssh/authorized_keys` e forneça suas credenciais de login nas etapas a seguir. Selecione **Copy key to clipboard** (Copiar chave na área de transferência) para copiar a chave SSH ou **View public SSH key to display it** (Exibir chave SSH pública para exibi-la).

1. No painel **Existing compute** (Computação existente), para **User** (Usuário), insira o nome de login que você usou para se conectar à instância ou ao servidor anteriormente neste procedimento. Por exemplo, para uma instância de computação da Nuvem AWS , pode ser `ec2-user`, `ubuntu` ou `root`. 
**nota**  
Recomendamos que o nome de login seja associado a permissões administrativas ou a um usuário administrador na instância ou no servidor. Mais especificamente, recomendamos que esse nome de login tenha a instalação do Node.js na instância ou no servidor. Para verificar isso, no terminal da instância ou do servidor, execute o comando **`ls -l $(which node)`** (ou **`ls -l $(nvm which node)`**, se estiver usando `nvm`). Esse comando exibe o nome do proprietário da instalação do Node.js. Ele também exibe as permissões, o nome do grupo e o local da instalação.

1. Em **Host**, digite o endereço IP público (preferencial) ou o nome de host da instância ou do servidor.

1. Em **Porta**, insira a porta que você AWS Cloud9 deseja usar para tentar se conectar à instância ou ao servidor. Como alternativa, mantenha a porta padrão.

1. Selecione **Additional details - optional** (Detalhes adicionais: opcional) para exibir o caminho do ambiente, o caminho para o binário node.js e as informações do host de salto SSH.

1. Em **Environment path**, insira o caminho para o diretório na instância ou no servidor a partir do qual você AWS Cloud9 deseja começar. Você identificou isso anteriormente nos pré-requisitos para este procedimento. Se deixar em branco, o AWS Cloud9 usará o diretório com o qual a instância ou o servidor normalmente inicia após o login. Geralmente é um diretório de início ou padrão.

1. Em **Path to Node.js binary path** (Caminho para o caminho binário do Node.js), insira as informações do caminho para especificar o caminho para o binário Node.js na instância ou no servidor. Para obter o caminho, execute o comando **`which node`** (ou ** `nvm which node` **, se estiver usando `nvm`) na instância ou no servidor. Por exemplo, o caminho pode ser `/usr/bin/node`. Se você deixar isso em branco, o AWS Cloud9 tentará adivinhar onde o binário do Node.js está ao tentar conectar.

1. Em **SSH jump host** (Host de salto SSH), insira informações sobre o host de salto que a instância ou o servidor usa. Use o formato `USER_NAME@HOSTNAME:PORT_NUMBER` (por exemplo, `ec2-user@:ip-192-0-2-0:22`).

   O host de salto deve atender aos seguintes requisitos:
   + Ele deve ser acessível pela internet pública usando SSH.
   + Ele deve permitir acesso de entrada por qualquer endereço IP através da porta especificada.
   + O valor da chave SSH pública que foi copiada para o arquivo `~/.ssh/authorized_keys` na instância existente ou servidor também deve ser copiado para o arquivo `~/.ssh/authorized_keys` no jump host.
   + O Netcat deve ser instalado.

1. Adicione até 50 tags fornecendo uma **Chave** e um **Valor** para cada tag. Faça isso selecionando **Add new tag** (Adicionar nova tag). As tags são anexadas ao AWS Cloud9 ambiente como tags de recursos e propagadas para os seguintes recursos subjacentes: a CloudFormation pilha, a instância do Amazon EC2 e os grupos de segurança do Amazon EC2. Para saber mais sobre tags, consulte [Controlar o acesso usando tags de AWS recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) no *[Guia do usuário do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/)* e [as informações avançadas](tags.md) sobre tags neste guia.
**Atenção**  
Se você atualizar essas tags depois de criá-las, as alterações não serão propagadas para os recursos subjacentes. Para obter mais informações, consulte [Propagar atualizações de tags nos recursos subjacentes](tags.md#tags-propagate) nas informações avançadas sobre [tags](tags.md).

1. Selecione **Create** (Criar) para criar seu ambiente e, depois, você será redirecionado para a página inicial. Quando a conta é criada com sucesso, uma barra flash verde aparece na parte superior do AWS Cloud9 console. Você pode selecionar o novo ambiente e escolher **Open in Cloud9** (Abrir no Cloud9) para iniciar o IDE.   
![\[AWS Cloud9 Seletor IDE no console AWS Cloud9\]](http://docs.aws.amazon.com/pt_br/cloud9/latest/user-guide/images/cloud9-ide-open.png)

   Se a conta não for criada, uma barra flash verde aparecerá na parte superior do console do AWS Cloud9 . Sua conta pode falhar na criação devido a um problema com seu navegador, suas permissões de AWS acesso, a instância ou a rede associada. Você pode encontrar informações sobre possíveis correções para problemas que podem causar falhas na conta na seção [Solução de problemas no AWS Cloud9 .](troubleshooting.md#troubleshooting-env-loading)

**nota**  
Se seu ambiente estiver usando um proxy para acessar a Internet, você deverá fornecer detalhes do proxy para que ele AWS Cloud9 possa instalar dependências. Para obter mais informações, consulte [Falha ao instalar as dependências](troubleshooting.md#proxy-failed-dependencies).

## Etapa 5: Executar o código
<a name="sample-docker-code"></a>

Nesta etapa, você usa o AWS Cloud9 IDE para executar um aplicativo de amostra dentro do contêiner Docker em execução.

1. Com o AWS Cloud9 IDE exibido para o contêiner em execução, inicie o servidor de bate-papo de amostra. Para fazer isso, na janela **Environment (Ambiente)**, clique com o botão direito do mouse no arquivo de amostra `workspace/server.js` e, em seguida, selecione **Run (Executar)**.

1. Visualize o aplicativo de exemplo. Para fazer isso, na janela **Environment (Ambiente)**, abra o arquivo `workspace/client/index.html`. Em seguida, na barra de menus, selecione **Tools, Preview, Preview Running Application (Ferramentas, Visualizar, Visualizar o aplicativo em execução)**.

1. Na guia de visualização do aplicativo, em **Your Name (Seu nome)**, digite o seu nome. Em **Mensagem**, digite uma mensagem. Em seguida, selecione **Send (Enviar)**. O servidor de bate-papo adiciona o seu nome e a mensagem à lista.

## Etapa 6: limpar
<a name="sample-docker-clean-up"></a>

Nesta etapa, você exclui o ambiente AWS Cloud9 e remove os arquivos de suporte do Docker da instância do Amazon EC2. Além disso, para evitar cobranças contínuas em sua AWS conta depois de terminar de usar essa amostra, você deve encerrar a instância do Amazon EC2 que está executando o Docker.

### Etapa 6.1: Excluir o ambiente
<a name="step-6-1-delete-the-envtitle"></a>

Para excluir o ambiente, consulte [Excluindo um ambiente no AWS Cloud9](delete-environment.md).

### Etapa 6.2: Remover arquivos de AWS Cloud9 suporte do contêiner
<a name="step-6-2-remove-ac9-support-files-from-the-container"></a>

Depois de excluir o ambiente, alguns arquivos de AWS Cloud9 suporte ainda permanecem no contêiner. Se você quiser continuar usando o contêiner, mas não precisar mais desses arquivos de suporte, exclua a `.c9` pasta do diretório no contêiner que você especificou AWS Cloud9 para começar após o login. Por exemplo, se o diretório for `~`, execute o comando ** `rm` ** com a opção ** `-r` **, da seguinte forma.

```
sudo rm -r ~/.c9
```

### Etapa 6.3: Remover os arquivos de suporte do Docker na instância
<a name="step-6-3-remove-docker-support-files-from-the-instance"></a>

Se não quiser mais manter o contêiner do Docker, a imagem do Docker e o Docker na instância do Amazon EC2, mas quiser manter a instância, você pode remover esses arquivos de suporte do Docker da seguinte forma:

1. Remova o contêiner do Docker na instância. Para fazer isso, execute o comando ** `docker` ** na instância com as ações de interrupção ** `stop` ** e ** `rm` **, e o nome legível do contêiner.

   ```
   sudo docker stop cloud9
   sudo docker rm cloud9
   ```

1. Remova a imagem do Docker na instância. Para fazer isso, execute o comando ** `docker` ** na instância com a ação ** `image rm` ** e a tag da imagem.

   ```
   sudo docker image rm cloud9-image:latest
   ```

1. Remova todos os arquivos de suporte do Docker adicionais que ainda possam existir. Para fazer isso, execute o comando ** `docker` ** na instância com a ação ** `system prune` **.

   ```
   sudo docker system prune -a
   ```

1. Desinstale o Docker. Para fazer isso, execute o comando ** `yum` ** na instância com a ação ** `remove` **, especificando o pacote ** `docker` ** a ser desinstalado.

   Para Amazon Linux:

   ```
   sudo yum -y remove docker
   ```

   Para Ubuntu Server:

   ```
   sudo apt -y remove docker
   ```

   Também é possível remover os arquivos `Dockerfile` e `authorized_keys` criados anteriormente. Por exemplo, execute o comando ** `rm` ** na instância.

   ```
   sudo rm /tmp/Dockerfile
   sudo rm /tmp/authorized_keys
   ```

### Etapa 6.4: Encerrar a instância
<a name="step-6-4-terminate-the-instance"></a>

Para encerrar a instância do Amazon EC2, consulte [Encerramento de instâncias do Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html) no *Manual do usuário do Amazon EC2*.