Каталог статей
Предисловие
В этой статье в основном рассказывается, как использовать Docker для развертывания MySQL и сочетать его с инструментом проникновения в интрасеть cpolar для достижения удаленного доступа к локальной базе данных.
Docker предоставляет легкое решение для контейнеризации, которое может упростить процесс развертывания базы данных. Упрощает и ускоряет создание базы данных MySQL и управление ею. Давайте поделимся конкретным процессом развертывания и выделим некоторые вопросы, требующие внимания, а также то, как использовать инструмент проникновения в интрасеть для доступа к локальной базе данных без IP-адреса общедоступной сети.
1. Установите Докер
Операционной средой этого руководства является система Linux Ubuntu. Перед началом работы нам необходимо установить Docker.
Выполните следующую команду в терминале:
Добавить источник Docker
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Установите пакет Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Убедитесь, что установка механизма Docker прошла успешно, запустив образ.
sudo docker run hello-world
2. Используйте Docker, чтобы получить образ MySQL.
sudo docker pull mysql:latest
Затем выполните команду просмотра изображения:
sudo docker images
Вы можете видеть, что образ MySQL был успешно получен.
3. Создайте и запустите контейнер MySQL.
После успешного получения образа MySQL мы можем использовать его для создания и запуска контейнера MySQL.
Выполните следующую команду в терминале:
sudo docker run -itd -p 3308:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=mydb mysql
В этой команде создается и запускается в фоновом режиме контейнер MySQL с именем: mysql1, работающий в контейнере MySQL сопоставляется с портом 3308 локального хоста (порт 3306 хоста автора занят), а пароль root MySQL равен установлено значение 123456, создана база данных с именем: mydb.
Затем выполните следующую команду, чтобы проверить, запущен ли контейнер:
sudo docker ps
Вы можете видеть, что только что созданный контейнер MySQL работает.
4. Проверка локального соединения
4.1 Установите инструмент графического интерфейса MySQL
Теперь, когда мы развернули контейнер MySQL локально в докере, если мы хотим протестировать соединение локально,
Вы можете скачать инструмент графического интерфейса MySQL: MySQL Workbench.
Адрес загрузки: MySQL::MySQL Workbench.
Здесь я выбрал версию системы Windows. Вы можете выбрать другие версии в соответствии с вашими потребностями и нажать кнопку «Загрузить».
4.2. Используйте тест подключения MySQL Workbench.
После загрузки и установки нажмите плюсик и во всплывающем окне добавьте информацию о базе данных MySQL, к которой вы хотите подключиться:
Имя хоста должно быть заполнено вашим локальным IP-адресом (192.168.184.128), а порт — локальным портом (3308). В реальной работе вам необходимо указать IP-адрес и порт вашего собственного хоста. Затем войдите в систему как пользователь root, введите пароль 123456 и нажмите «ОК».
После ввода информации нажмите кнопку проверки соединения справа внизу.
Если вы видите окно подсказки об успешном установлении соединения с MySQL, соединение установлено. Нажмите «ОК», чтобы закрыть окно подсказки, а затем нажмите кнопку «ОК» в правом нижнем углу информационного окна, чтобы официально подключиться к локальной базе данных MySQL.
Щелкните созданный здесь метод подключения, чтобы успешно войти в интерфейс базы данных:
5. Удаленный доступ к локальному MySQL из общедоступной сети.
Однако в настоящее время мы можем подключаться только локально к базе данных MySQL, которую мы только что развернули в Docker.Что, если мы находимся в другом месте и хотим удаленно получить доступ к локально развернутому контейнеру MySQL, но у нас нет общедоступного IP-адреса?
Мы можем использовать инструмент проникновения в интранет cpolar для удовлетворения требований удаленного доступа в среде без IP-адреса общедоступной сети.
5.1 Установка инструментов проникновения в интранет
Ниже приведены шаги для установки cpolar:
Адрес официального сайта cpolar: https://www.cpolar.com
- Используйте команду установки скрипта в один клик
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- Добавляем услуги в систему
sudo systemctl enable cpolar
- Запустить службу cpolar
sudo systemctl start cpolar
После успешной установки cpolar получите доступ к порту Linux 9200 во внешнем браузере: [http://IP-адрес локальной сети сервера: 9200]. Войдите в систему, используя учетную запись cpolar. После входа в систему вы увидите веб-интерфейс конфигурации cpolar. результат в сети. Просто настройте интерфейс управления.
5.2 Создайте адрес общедоступной сети для удаленного подключения
После входа в интерфейс управления веб-интерфейсом cpolar нажмите «Управление туннелем» — «Создать туннель» на левой панели управления:
- Имя туннеля: его можно настроить. Будьте осторожны, чтобы не дублировать существующее имя туннеля. В этом примере используется: mysql.
- Протокол: TCP
- Местный адрес: 3308
- Тип порта: произвольный временный TCP-порт.
- Регион: Выберите Китай Топ
Нажмите创建
После успешного создания откройте список онлайн-туннелей слева. Вы увидите, что адрес общедоступной сети был только что создан путем создания туннеля. Далее вы можете скопировать адрес и номер порта в MySQL Workbench на другом компьютере (вне офиса). ) подключить.
Как показано на рисунке ниже, заполните местоположение IP-адреса: 17.tcp.cpolar.top, укажите номер порта: 12878, нажмите ссылку для проверки:
Вы можете видеть, что тестовое соединение прошло успешно:
Успешно получен удаленный доступ к локальному интерфейсу базы данных MySQL с использованием общедоступного сетевого адреса:
краткое содержание
Для удобства демонстрации мы использовали туннель адреса общедоступной сети TCP, сгенерированный cpolar в описанном выше процессе операции, и его адрес общедоступной сети был сгенерирован случайным образом.
Преимущество этого случайного адреса в том, что он устанавливается быстро и может быть немедленно использован. Однако его недостатком является то, что URL-адрес генерируется случайным образом и этот адрес будет меняться случайным образом в течение 24 часов, что делает его более подходящим для временного использования.
Если у вас есть потребность в долгосрочном удаленном доступе к локальному MySQL, но вы не хотите каждый день перенастраивать адрес общедоступной сети, а также хотите, чтобы адрес был красивым и легко запоминающимся, то я рекомендую вам выбрать использовать фиксированный TCP-адрес для удаленного доступа.
5.3 Удаленный доступ с использованием фиксированного TCP-адреса
Затем зарезервируйте фиксированный TCP-адрес.Войдите на официальный сайт cpolar , нажмите «Зарезервировать» слева, найдите зарезервированный TCP-адрес и зарезервируйте фиксированный адрес для удаленного подключения к серверу:
- Регион: Выберите Китай VIP
- Описание: Примечания, которые можно настроить.В этом примере используется mysql123.
Нажмите保留
Вы можете видеть, что генерируется фиксированный адрес общедоступной сети TCP:
После того, как адрес будет успешно зарезервирован, скопируйте сгенерированный адрес общедоступной сети, откройте интерфейс управления веб-интерфейсом cpolar, нажмите «Управление туннелями» — «Список туннелей» на левой панели управления, найдите только что созданный туннель mysql с адресом общедоступной сети и нажмите编辑
Измените информацию туннеля и настройте для туннеля фиксированный TCP-адрес, который только что был успешно зарезервирован.
- Тип порта: выберите фиксированный TCP-порт.
- Зарезервированный TCP-адрес: скопируйте и вставьте успешно зарезервированный адрес с официального сайта, в данном случае: 5.tcp.vip.cpolar.cn:12675.
Нажмите更新
После успешного обновления туннеля щелкните статус на левой панели мониторинга — Список онлайн-туннелей, и вы увидите, что адрес общедоступной сети был обновлен до фиксированного TCP-адреса.
Далее, как и в предыдущей операции, вы можете использовать этот фиксированный TCP-адрес для доступа к MySQL Workbench на другом компьютере (вне офиса).
Нажмите кнопку «Изменить информацию о подключении»:
Заполните местоположение IP-адреса: 5.tcp.vip.cpolar.cn, укажите номер порта: 12675, щелкните ссылку для проверки, вы увидите, что тестовое соединение прошло успешно:
Успешно реализован инструмент проникновения в интранет cpolar для удаленного доступа к локальному интерфейсу базы данных MySQL с фиксированным адресом общедоступной сети TCP: