Tutorial: criar um aplicativo do Docker com o Visual Studio Code
Este tutorial é o início de uma série de quatro partes que apresenta o Docker para ser usado com o VS Code (Visual Studio Code). Você aprenderá a criar e executar contêineres do Docker, persistir dados e gerenciar vários contêineres com o Docker Compose.
O VS Code oferece uma extensão do Docker que permite trabalhar com um serviço local do Docker Desktop. O Docker Desktop é executado no computador e gerencia os contêineres locais, que são ambientes virtualizados compactos que fornecem uma plataforma para criar e executar aplicativos. Eles não exigem o tamanho nem a sobrecarga de um sistema operacional completo.
Neste primeiro tutorial, você aprenderá a:
- Crie um contêiner do Docker.
- Compilar uma imagem de contêiner.
- Iniciar um contêiner de aplicativo.
Pré-requisitos
- O Visual Studio Code instalado.
- Extensão do VS Code para Docker instalada.
- Docker Desktop configurado para usar contêineres do Linux.
- Uma conta do Docker Hub. Você pode criar uma conta gratuitamente.
O tutorial funciona com o Windows 10 ou posterior e o Docker Desktop configurado para usar contêineres do Linux.
Criar um contêiner
Um contêiner é um processo em seu computador. Ele é isolado de todos os outros processos no computador host. Esse isolamento usa namespaces de kernel e grupos de controle.
Um contêiner usa um sistema de arquivos isolado. Esse sistema de arquivos personalizado é fornecido por uma imagem de contêiner. A imagem contém tudo o que é necessário para executar um aplicativo, como todas as dependências, a configuração, os scripts e os binários. A imagem também contém outra configuração para o contêiner, como variáveis de ambiente, um comando padrão a ser executado e outros metadados.
Depois de instalar a extensão do Docker para VS Code, você pode trabalhar com contêineres no VS Code. Além dos menus de contexto no painel do Docker, você pode selecionar Terminal>Novo Terminal para abrir uma janela de linha de comando. Você também pode executar comandos em uma janela Bash. A menos que especificado, qualquer comando rotulado como Bash pode ser executado em uma janela Bash ou no terminal do VS Code.
Defina o Docker como o modo de contêiner do Linux. Para alternar para contêineres do Linux se você estiver atualmente definido como contêineres do Windows, clique com o botão direito do mouse no ícone do Docker na bandeja do sistema enquanto a Área de Trabalho do Docker estiver em execução e escolha Alternar para contêineres do Linux.
No VS Code, selecione Terminal>Novo Terminal.
Na janela do terminal ou em uma janela Bash, execute este comando.
docker run -d -p 80:80 docker/getting-started
O comando contém os seguintes parâmetros:
-d
Execute o contêiner no modo desanexado, em segundo plano.-p 80:80
Mapeie a porta 80 do host para a porta 80 no contêiner.docker/getting-started
Especifica a imagem a ser usada.
Dica
Você pode combinar sinalizadores de caractere único para encurtar o comando completo. Por exemplo, o comando acima poderia ser escrito como:
docker run -dp 80:80 docker/getting-started
No VS Code, selecione o ícone do Docker à esquerda para exibir a extensão do Docker.
A Extensão do VS Code para Docker mostra os contêineres em execução no computador. Você pode acessar logs de contêiner e gerenciar o ciclo de vida do contêiner, como parar e remover.
O nome do contêiner, neste exemplo modest_shockley, é criado aleatoriamente. O seu terá um nome diferente.
Clique com o botão direito do mouse no menu do docker/introdução para abrir um menu de contexto. Selecione Abrir no Navegador.
Em vez disso, abra um navegador e insira
http://localhost/tutorial/
.Você verá uma página, hospedada localmente, sobre o DockerLabs.
Clique com o botão direito do mouse no menu do docker/introdução para abrir um menu de contexto. Selecione Remover para remover esse contêiner.
Para remover um contêiner usando a linha de comando, execute este comando para obter sua ID:
docker ps
Em seguida, pare e remova o contêiner:
docker stop <container-id> docker rm <container-id>
Atualize seu navegador. A página Introdução que você viu há um momento desapareceu.
Criar uma imagem de contêiner para o aplicativo
Este tutorial usa um aplicativo simples de lista de tarefas.
O aplicativo permite criar itens de trabalho e marcá-los como concluídos ou excluí-los.
Para compilar o aplicativo, crie um Dockerfile. Um Dockerfile é um script baseado em texto, com instruções, que é usado para criar uma imagem de contêiner.
Acesse o repositório Tutorial de Introdução ao Docker e selecioneCódigo>Baixar ZIP. Extraia o conteúdo para uma pasta local.
No VS Code, selecione Arquivo>Abrir Pasta. Navegue até a pasta aplicativo no projeto extraído e abra essa pasta. Você verá um arquivo chamado package.json e duas pastas chamadas src e spec.
Crie um arquivo chamado Dockerfile na mesma pasta que o arquivo package.json com o conteúdo a seguir.
FROM node:20-alpine RUN apk add --no-cache python3 g++ make WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "/app/src/index.js"]
Observação
Verifique se o arquivo não tem nenhuma extensão como
.txt
.No explorador de arquivos, à esquerda no VS Code, clique com o botão direito do mouse no Dockerfile e selecioneCompilar Imagem. Insira getting-started como a marca para a imagem na caixa de entrada de texto.
Essa marca é um nome amigável para a imagem.
Para criar uma imagem de contêiner na linha de comando, use o comando a seguir.
docker build -t getting-started .
Observação
Em uma janela Bash externa, vá para a pasta
app
que tem o Dockerfile para executar esse comando.
Você usou o Dockerfile para compilar uma nova imagem de contêiner.
Talvez você tenha notado que muitas "camadas" foram baixadas.
O Dockerfile começa na imagem node:20-alpine
.
A menos que essa imagem já esteja no computador, essa imagem precisa ser baixada.
Após a imagem ser baixada, o Dockerfile copia seu aplicativo e usa yarn
para instalar as dependências dele.
O valor CMD
no Dockerfile especifica o comando padrão a ser executado ao iniciar um contêiner nessa imagem.
O .
no final do comando docker build
informa que o Docker deve procurar o Dockerfile no diretório atual.
Iniciar o contêiner do aplicativo
Agora que tem uma imagem, você pode executar o aplicativo.
Para iniciar o contêiner, use o comando a seguir.
docker run -dp 3000:3000 getting-started
O parâmetro
-d
indica que você está executando o contêiner no modo desanexado, em segundo plano. O valor-p
cria um mapeamento entre a porta de host 3000 e a porta de contêiner 3000. Sem o mapeamento de porta, você não poderá acessar o aplicativo.Após alguns segundos, no VS Code, na área do Docker, em CONTÊINERES, clique com o botão direito do mouse em Introdução e selecione Abrir no Navegador. Em vez disso, você pode abrir o navegador da Web em
http://localhost:3000
.Você verá o aplicativo em execução.
Adicione um ou dois itens e veja se ele funciona conforme o esperado. Você pode marcar itens como concluídos e remover itens. O front-end está armazenando itens com êxito no back-end.
Próximas etapas
Você concluiu este tutorial e tem um gerenciador de listas de pendências em execução com alguns itens. Você aprendeu a criar imagens de contêiner e executar um aplicativo conteinerizado.
Mantenha tudo o que você fez até agora para continuar esta série de tutoriais. Em seguida, confira a parte II desta série:
Aqui estão alguns recursos que podem ser úteis para você:
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: ao longo de 2024, vamos eliminar problemas do GitHub como o mecanismo de comentários para conteúdo e substituí-lo por um novo sistema de comentários. Para obter mais informações, consulte:Enviar e exibir comentários de