Como rodar seu projeto Nuxt em um container Docker? 🐳

Hosana Barcelos - Aug 31 - - Dev Community

Oi! Nesse guia, vou te mostrar como é bem simples e rápido dockerizar uma aplicação Nuxt. Bora lá?


Nuxt

O objetivo e foco desse guia é entender como podemos adicionar um projeto Nuxt dentro de um container Docker. Inicialmente, para criar e rodar o seu projeto Nuxt, consulte a documentação oficial do Nuxt.

Docker

O arquivo YAML

Na raiz do seu projeto Nuxt, precisamos criar um arquivo YAML chamado docker-compose.yml.

Dentro desse arquivo, iremos adicionar nossa configuração para dockerizar a nossa aplicação. Abaixo, você consegue visualizar como ficou o meu arquivo de configuração:

version: '3'

services:
  app:
    image: node:14.18.2-buster-slim
    container_name: docnux
    volumes:
      - .:/var/www/html
    working_dir: /var/www/html
    stdin_open: true
    tty: true
    ports:
      - 3007:3000
Enter fullscreen mode Exit fullscreen mode

Você pode usar essa configuração para o seu projeto também, mas é importante entender o que cada carinha presente nesse arquivo faz:

version→ Versão do docker-compose que você quer utilizar;

services→ Instanciar os serviços (containers) que você quer subir;

app→ Nome do serviço;

image→ Declara a imagem que vai ser utilizada para subir o container em questão (é possível pegar essa imagem em https://hub.docker.com/search?image_filter=official&type=image&q=);

container_name → Declara o nome do container (para não gerar um aleatório);

volumes → Atrelar diretórios de fora do container (ou seja, na sua máquina) para algum diretório dentro do container (diretório de fora : diretório de dentro)

working_dir → Diretório de entrada a partir do momento em que o container é inicializado;

stdin_open → Quando true, permite que a entrada padrão de dados (standard input ou stdin) esteja "aberta". Isso serve para poder rodar o container interativo, ou seja, você poderá acessar o seu shell, executar comandos e etc;

tty → (TeleTypeWriter);

ports → Expor portas para uso posterior. Nesse contexto, podemos atrelar portas de fora do container à portas de dentro do container (porta de fora : porta de dentro).

Subindo nosso container Docker

Após definir as configurações do seu container, basta executar o seguinte comando:

docker-compose up -d
Enter fullscreen mode Exit fullscreen mode

Se a mensagem no terminal retornar …done significa que seu container foi upado e está pronto!

Usando nosso projeto Nuxt com Docker

Agora, para rodar comandos dentro do container, é necessário seguir o padrão de comando:

docker-compose exec <nome do serviço> <comando>
Enter fullscreen mode Exit fullscreen mode

Para a nossa aplicação Nuxt, podemos rodar dois comandos iniciais:

docker-compose exec app npm i
Enter fullscreen mode Exit fullscreen mode
docker-compose exec app npm run dev
Enter fullscreen mode Exit fullscreen mode

Repare, o docker-compose executa os comandos do Nuxt dentro do meu serviço nomeado como app, assim como vimos na criação do YAML.

Pronto! Você pode visualizar a aplicação no navegador em http://localhost:3007 e agora seu projeto Nuxt está dockerizado. Massa, né? 🚀

Lembre-se: Esse guia é produzido de maneira rápida e objetiva. Para saber mais sobre imagens e qual escolher ou usar no seu container, consulte a documentação oficial do Docker Hub.


Curtiu? Se conecte comigo onde preferir acessando minhas redes em: https://www.hosana.me.

. . . . .