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