Может ли порт tcp сломаться на оборудовании?

#mysql #docker #port

#mysql #docker #порт

Вопрос:

У меня есть студент, который может запустить mysql следующим образом

 docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw -dp 3306:3306 mysql:latest
  

и подключитесь к is на порту 3000.
Любой другой порт также работает, однако следующая команда приводит к проблеме с аутентификацией

 docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw -dp 3000:3306 mysql:latest
  

Я понятия не имею, что это может означать. образ контейнера docker перезапускается без какого-либо монтирования тома. Все остальные порты работают нормально. Ошибка — это не тайм-аут, а проблема аутентификации.

Есть ли какой-то способ, которым порт может сломаться, имеет ли это вообще смысл?

Ответ №1:

Нет, порт TCP не может быть поврежден, только что-то другое может прослушивать этот порт, поэтому он недоступен (или вы перенаправлены на то, о чем вы не знаете).

Посмотрите, есть ли что-нибудь, что уже прослушивает порт, в Windows:

 netstat -aonp tcp | findstr "3000"
  

Это покажет, что что-то уже прослушивается (возможно, другой экземпляр или другой контейнер).