Доступ к базе данных MySQL, запущенной в контейнере docker в экземпляре виртуальной машины Google Cloud - PullRequest
1 голос
/ 07 мая 2020

Я искал VPS-сервер для развертывания кода. Мой друг предложил использовать Google Cloud, поэтому я зарегистрировался и запустил экземпляр виртуальной машины Ubuntu, получая доступ с моего Linux управляемого P C через s sh.

Я запустил контейнер Docker с MySQL db на экземпляре, и мне интересно, можно ли получить к нему доступ с другого P C, используя, например, DBeaver, и позволить моему GF практиковать SQL. Я не смог найти эту конкретную информацию в документации.

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 07 мая 2020

Судя по нашим комментариям, нужно просто получить доступ к БД из экземпляра GCE, на котором все работает.

Для этого вам нужно открыть дыра в брандмауэре GCE (по умолчанию он блокирует входящий трафик c).

Первый шаг находится в экземпляре GCE, go отредактируйте его в консоли и прокрутите немного вниз, пока не увидите поле для Network tags и введите туда что-нибудь, указывающее c ... вроде "sql -тестинг" или что-то в этом роде. Это сделано для того, чтобы вы могли применить правило брандмауэра ТОЛЬКО к этому экземпляру, а не ко всем экземплярам. Если вам удобно открывать доступ для всех ваших экземпляров GCE к вашему домашнему IP-адресу (я выбираю простой путь для подключения, есть и более безопасные и сложные способы сделать это), то вы можете пропустить эту часть.

Затем перейдите к Правилам брандмауэра: (https://console.cloud.google.com/networking/firewalls/list)

Нажмите «Создать правило брандмауэра» вверху. Назовите его, затем прокрутите немного вниз, пока не увидите «Цели», а точнее «Целевые теги». В этом поле целевых тегов введите тег, который вы дали своему экземпляру GCE. Или, если вы хотите, чтобы он применялся ко всем вашим экземплярам, ​​вы можете изменить раскрывающийся список «Целевой объект» на «Все экземпляры в сети».

Для исходного фильтра оставьте его на «Диапазоны IP-адресов», а затем получите свой домашний IP-адрес и поместите его в фильтр диапазона исходных IP-адресов. Это нотация CIDR, поэтому подойдет только IP-адрес, или, если вы хотите быть точным, это будет <IP ADDRESS>/32.

Для протоколов и портов вы можете либо «Разрешить все» (самый простой) или если вы действительно хотите указать c, вы можете использовать «tcp» и (мы не говорили об этом, но если это MySQL, скорее всего, 3306 или Postgres, скорее всего, 5432, если вы не изменили порт БД прослушивает).

Нажмите Create, и POOF у вас должен быть доступ к БД с помощью клиента db.

...