Em outros cursos eu entendi o porquê da porta 3000 e aprendi onde se localiza essa informação, porém não entendi a parte do mapeamento 8080:3000. Ainda não estou tão familiarizado com redes, preciso de uma explicação mais 101.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Em outros cursos eu entendi o porquê da porta 3000 e aprendi onde se localiza essa informação, porém não entendi a parte do mapeamento 8080:3000. Ainda não estou tão familiarizado com redes, preciso de uma explicação mais 101.
Olá, Rafael!
Quando você vê algo como 8080:3000 no contexto do Docker, isso refere-se ao mapeamento de portas entre o host (seu computador) e o contêiner.
3000: esta é a porta interna do contêiner onde a aplicação está rodando. No seu caso, o front-end do projeto AllBooks está configurado para escutar na porta 3000 dentro do contêiner Docker.
8080: esta é a porta no seu host (seu computador) que você vai usar para acessar a aplicação que está rodando dentro do contêiner. Quando você acessa localhost:8080 no seu navegador, você está se conectando à porta 8080 do seu host, que está mapeada para a porta 3000 do contêiner.
Então, basicamente, o comando docker run -d -p 8080:3000 está dizendo ao Docker para pegar o tráfego que chega na porta 8080 do seu host e redirecioná-lo para a porta 3000 do contêiner. Isso permite que você acesse a aplicação rodando dentro do contêiner como se ela estivesse rodando diretamente no seu computador.
Um exemplo prático: imagine que você tem um servidor web rodando dentro do contêiner na porta 3000. Ao mapear a porta 8080 do host para a porta 3000 do contêiner, você pode abrir um navegador e digitar localhost:8080 para acessar o servidor web, mesmo que ele esteja realmente rodando na porta 3000 dentro do contêiner.
Bons estudos!