#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"
Это покажет, что что-то уже прослушивается (возможно, другой экземпляр или другой контейнер).