Иногда надо использовать продовую БД на своей локальной машине.
Например mysql
(далее все описано под мак)
Шаг первый, прокидываем mysql на свой компьютер:
/usr/local/bin/sshpass -p ПАРОЛЬ ssh -p22224 -L 3311:127.0.0.1:3306 ubuntu_admin1@200.200.200.200
В последней сборке запретили использовать sshpass, но это можно обойти
Итак, p22224 — это порт удаленной машины
-L 3311:127.0.0.1:3306 — это означает открыть локально порт 3311 с удаленной машины 127.0.0.1:3306
ubuntu_admin1@200.200.200.200 — это куда мы ципляемся
Дальше, в своей программе, которая запущена в докере пишем host.docker.internal или docker.for.mac.host.internal или docker.for.mac.localhost
Все!!!
Docker v 18.03 и выше (с 21 марта 2018 года)
Используйте свой внутренний адрес IP или подключитесь к специальному имени DNS host.docker.internal , которое будет преобразовано во внутренний адрес IP, используемый хостом.
Linux ожидающая поддержки https://github.com/docker/for-linux/issues/264
MacOS с более ранними версиями Docker
Docker для Mac с v 17.12 по v 18.02
То же, что и выше, но вместо этого используйте docker.for.mac.host.internal .
Docker для Mac с v 17.06 по v 17.11
То же, что и выше, но вместо этого используйте docker.for.mac.localhost .
Решение проблемы нашлось тут https://coderoad.ru/24319662/%D0%9A%D0%B0%D0%BA-%D0%BC%D0%BD%D0%B5-%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C%D1%81%D1%8F-%D0%BA-%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D1%83-localhost-%D0%B8%D0%B7%D0%BD%D1%83%D1%82%D1%80%D0%B8-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0-Docker