Я не совсем уверен в вашей конфигурации docker, но как пользователь linux я бы использовал netcat для проверки TCP-соединения. (В debian / ubuntu: apt install netcat)
Чтобы получить IP-адрес контейнера, вы можете использовать:
containerIP=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id)
, а затем дождаться соединения с netcat
nc -w 45 -v $containerIP 3306 </dev/null
-w устанавливает желаемое время ожидания
Таким образом, вы можете запустить миграцию или сделать что-то еще, если она не удалась.
if [ $? -eq 0 ]; then
echo "Run your migrate"
else
echo "Unable to connect"
fi