Docker: Simplicidade e praticidade - Parte 2

tarcisio

Tarcísio Corte

Posted on January 11, 2022

Docker: Simplicidade e praticidade - Parte 2

Na parte 1 dessa série de posts, eu mostrei como baixar a imagem de um container, depois mostrei como montar um container, apagar esse container e por ultimo como deletar a imagem.

Neste post eu começo mostrando como montar uma imagem.

Melhor que isso, vou mostrar como dockerizar
uma aplicação Angular, ou seja uma imagem que roda uma aplicação Angular.

Cenário: Dockerizar uma aplicação Angular com Nginx

Já vou deixar código fonte pronto aqui que ai já fica mais fácil pra quem quiser estudar.

Na raiz da aplicação Angular, crie um arquivo Dockerfile.

# Primeiro passo: compilar e builder código Angular
FROM node:14.17.0 as build
WORKDIR /usr/local/app
COPY ./ /usr/local/app/
RUN npm install
RUN npm run build

# Segundo passo: usar o nginx como server
FROM nginx:latest
COPY --from=build /usr/local/app/dist/app-demo /usr/share/nginx/html

# Exportar a porta 80 que é padrão
EXPOSE 80

Enter fullscreen mode Exit fullscreen mode

Tenha em mente aqui que você precisa do NodeJs e Angular instalados na sua máquina para gerar essa imagem.
No meu caso, instalados nesse momento eu tenho o NodeJs v14.17.0 e Angular v12.0.5.
Agora, vamos rodar o comando para gerar a imagem.

docker build -t app-demo:v1 .
Enter fullscreen mode Exit fullscreen mode

Detalhe: podemos, ao invés de ter um arquivo chamado Dockerfile, poderiamos ter um arquivo chamado dev.dockerfile e outro qa.dockerfile ou/e também mais um chamado prod.dockerfile, então poderia executar o mesmo comando, mas para um arquivo especifico:

docker build -t app-demo:v1 ./qa.dockerfile
Enter fullscreen mode Exit fullscreen mode

Imagem pronta, então vamos rodar esse container.

docker run -d -p 8080:80 app-demo:v1
Enter fullscreen mode Exit fullscreen mode

No comando acima, estamos rodando o container e direcionamos a porta 80 do container para a porta 8080 da máquina que esta rodando o container.
Abra o navegador e digite o endereço http://localhost:8080/

Image description

Conclusão

Nessa continuação de uma série de posts, fiz novamente a demonstração de como é fácil criar containers Docker.
Usar arquivos Dockerfiles é sem dúvida uma das maneiras mais praticas e fáceis de se instanciar containers.

💖 💪 🙅 🚩
tarcisio
Tarcísio Corte

Posted on January 11, 2022

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

Dockerize Angular App
angular Dockerize Angular App

January 8, 2022