Подцепляем прод БД на свой компьютер

Иногда надо использовать продовую БД на своей локальной машине.
Например 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

macos wine

После 10.15  на macOS нельзя ставить 32битные приложения, они просто не запускаются, а вместе с этим мы потеряли wine

 

Но оказывается все еще можно запустить приложухи (а мне очень не хватало HeidiSQL) через playonmac  https://www.playonmac.com/en/

И да, она работает, правда очень странно как и до этого в wine, но все же

Снимок экрана 2021-08-08 в 23.56.07

Про компьютеры

Основном мой рабочий компьютер сейчас, это Макбук Про. Он конечно не идеальный, но после долгих лет на windows и  linux, остановился именно на нем. На это есть три главные причины:

Читать далее Про компьютеры

Создать новый файл в Mac OS X

  • Открываем Automator, создаем новую Службу.
  • В рабочую область перетягиваем действие Запустить AppleScript (ищите в коллекции Служебные программы).
  • Вставляем в текст скрипта вот такой код
    on run {input, parameters}
      tell application "Finder"
        set currentPath to insertion location as text
        set x to POSIX path of currentPath
      end tell
      return x
    end run
    
  • Добавляем действие Установить значение переменной, создаем новую переменную с любым названием (у меня СurrentFolder).
  • Добавляем действие Новый текстовый файл, перетаскиваем нашу переменную CurrentFolder из нижней панели в область Где. В настройках действия отмечаем Показ. действие в процессе выполнения.
  • Сохраняем службу с любым именем, идем в Finder проверять. Заходим в нужную папку, выбираем любой файл или папку внутри (это важно), жмем правую кнопку (или ctrl+click), в контекстном меню выбираем Службы, а там имя нашей новой службы. Появится диалог, в котором надо указать название нового файла.

 

Снимок экрана 2018-05-03 в 13.32.46