Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Normalmente é permitida apenas uma utilização de cada endereço de soquete (protocolo/endereço de rede/porta).

Bom dia a todos

eu tava seguindo os comandos para executar o MYSQL no docker, mas ao executar esse comando:

docker run -d -p 3306:3306 --name mysql-container -e MYSQL_ROOT_PASSWORD=root -e M
YSQL_PASSWORD=root mysql:8.0.32

o docker criava um container novo, mas não conseguia se conectar com a porta 3306, e aparecia essa mensagem:

0548c29428d9fd5551443e41e2ac1830dd30b07671c728d2cceb40ef997e1d49
docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Normalmente é permitida apenas uma utilização de cada endereço de
 soquete (protocolo/endereço de rede/porta).

E quando eu tentava esse outro comando:

docker exec -it mysql-container bash

dava essa mensagem:

Error response from daemon: Container 0548c29428d9fd5551443e41e2ac1830dd30b07671c728d2cceb40ef997e1d49 is not running

Qual pode ser esse problema, e como eu faço para essa porta ficar disponível, se não, usar outra? PS: eu pesquisei sobre ver se a porta tá disponivel, eu digitei esse comando e retornou isso:

PS C:\Users\User> netstat -ano | findstr 3306
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       4808
  TCP    0.0.0.0:33060          0.0.0.0:0              LISTENING       4808
  TCP    [::]:3306              [::]:0                 LISTENING       4808
  TCP    [::]:33060             [::]:0                 LISTENING       4808
2 respostas

De algum jeito consegui resolver esse problema apertando o botão de reiniciar do container no docker

Mas isso me gerou um outro problema que está neste fórum: https://cursos.alura.com.br/forum/topico-bug-communications-link-failure-ao-iniciar-o-programa-288490

solução!

Eu descobri o motivo do erro, com ajuda do LucasFugisawa no discord da alura:

eu baixei no meu computador o mysql, e ao invés do docker ir no mysql do docker, ele ia no local, e é por isso que a porta 3306 estava ocupada e não abria.

eu fechei o mysql fazendo isso: indo no painel de controle de Serviços do Windows (pressionando Win + R, digitei services.msc, ENTER), localizei o serviço do MySQL, que estava em Execução e o interrompi