前言
本文主要介紹如何使用Docker部署MySQL,并結(jié)合cpolar內(nèi)網(wǎng)穿透工具實現(xiàn)遠(yuǎn)程訪問本地數(shù)據(jù)庫。
Docker提供了一個輕量級的容器化解決方案,可以更好的簡化數(shù)據(jù)庫的部署過程。讓創(chuàng)建和管理MySQL數(shù)據(jù)庫變得更簡單快捷。下面就來分享一下具體的部署過程,并提出一些需要注意的事項,以及如何通過內(nèi)網(wǎng)穿透工具實現(xiàn)無公網(wǎng)ip訪問本地數(shù)據(jù)庫。
1 .安裝Docker
本教程操作環(huán)境為Linux Ubuntu系統(tǒng),在開始之前,我們需要先安裝Docker。
在終端中執(zhí)行下方命令:
添加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
安裝Dokcer包
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
然后執(zhí)行查看鏡像命令:
sudo docker images
可以看到成功拉取了MySQL鏡像。
3. 創(chuàng)建并啟動MySQL容器
成功拉取MySQL鏡像后,我們可以使用該鏡像創(chuàng)建并運行一個MySQL容器。
在終端執(zhí)行以下命令:
sudo docker run -itd -p 3308:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=mydb mysql
在該命令中,創(chuàng)建并在后臺運行了一個名為:mysql1的MySQL容器,將容器中運行的MySQL映射到本地主機的3308端口(筆者主機3306端口被占用),并設(shè)置MySQL的root密碼為123456,創(chuàng)建了一個名為:mydb的數(shù)據(jù)庫。
然后執(zhí)行下方命令查看容器是否正在運行:
sudo docker ps
可以看到剛才創(chuàng)建的MySQL容器正在運行中。
4. 本地連接測試
4.1 安裝MySQL圖形化界面工具
現(xiàn)在我們已經(jīng)在docker中本地部署了MySQL容器,如果要在本地進(jìn)行連接測試,
可以下載MySQL圖形化界面工具:MySQL Workbench
下載地址:MySQL :: MySQL Workbench
我這里選擇了Windows系統(tǒng)版本的,大家可以根據(jù)需求自行選擇其他版本,點擊下載。
4.2 使用MySQL Workbench連接測試
下載并進(jìn)行安裝后,點擊加號,在彈出窗口中添加想要連接的MySQL數(shù)據(jù)庫相關(guān)信息:
hostname需要填入你的本機ip地址(192.168.184.128),端口為本機端口(3308),實際操作時大家需以自己主機的ip地址和端口為準(zhǔn)。然后使用root用戶登錄,輸入密碼123456,點擊OK。
信息輸入完畢后,點擊右下方的連接測試按鈕。
看到successful made the MySQL connection提示框則為連接成功,點擊OK關(guān)掉提示框后,再點擊信息框右下方的OK按鈕,即可正式連接本地MySQL數(shù)據(jù)庫。
點擊此處生成的連接方式,即可成功進(jìn)入數(shù)據(jù)庫界面:
5. 公網(wǎng)遠(yuǎn)程訪問本地MySQL
不過我們目前只能在本地連接剛剛在docker部署的MySQL數(shù)據(jù)庫,如果身在異地,想要遠(yuǎn)程訪問在本地部署的MySQL容器,但又沒有公網(wǎng)ip怎么辦呢?
我們可以使用cpolar內(nèi)網(wǎng)穿透工具來實現(xiàn)無公網(wǎng)ip環(huán)境下的遠(yuǎn)程訪問需求。
5.1 內(nèi)網(wǎng)穿透工具安裝
下面是安裝cpolar步驟:
cpolar官網(wǎng)地址: https://www.cpolar.com
- 使用一鍵腳本安裝命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系統(tǒng)添加服務(wù)
sudo systemctl enable cpolar
- 啟動cpolar服務(wù)
sudo systemctl start cpolar
cpolar安裝成功后,在外部瀏覽器上訪問Linux 的9200端口即:【http://服務(wù)器的局域網(wǎng)ip:9200】,使用cpolar賬號登錄,登錄后即可看到cpolar web 配置界面,結(jié)下來在web 管理界面配置即可。
5.2 創(chuàng)建遠(yuǎn)程連接公網(wǎng)地址
登錄cpolar web UI管理界面后,點擊左側(cè)儀表盤的隧道管理——創(chuàng)建隧道:
- 隧道名稱:可自定義,注意不要與已有的隧道名稱重復(fù),本例使用了:mysql
- 協(xié)議:TCP
- 本地地址:3308
- 端口類型:隨機臨時TCP端口
- 地區(qū):選擇China Top
點擊創(chuàng)建
創(chuàng)建成功后,打開左側(cè)在線隧道列表,可以看到剛剛通過創(chuàng)建隧道生成了公網(wǎng)地址,接下來就可以在其他電腦(異地)上,將該地址與端口號分別復(fù)制到MySQL Workbench進(jìn)行連接即可。
如下圖所示,ip地址位置填寫:17.tcp.cpolar.top,端口號填寫:12878 ,點擊鏈接測試:
可以看到顯示測試連接成功:
成功實現(xiàn)使用該公網(wǎng)地址遠(yuǎn)程訪問本地MySQL數(shù)據(jù)庫界面:
小結(jié)
為了方便演示,我們在上邊的操作過程中使用了cpolar生成的TCP公網(wǎng)地址隧道,其公網(wǎng)地址是隨機生成的。
這種隨機地址的優(yōu)勢在于建立速度快,可以立即使用。然而,它的缺點是網(wǎng)址是隨機生成,這個地址在24小時內(nèi)會發(fā)生隨機變化,更適合于臨時使用。
如果有長期遠(yuǎn)程訪問本地MySQL的需求,但又不想每天重新配置公網(wǎng)地址,還想地址好看又好記,那我推薦大家選擇使用固定的TCP地址的方式來遠(yuǎn)程訪問。
5.3 使用固定TCP地址遠(yuǎn)程訪問
接下來保留一個固定TCP地址,登錄cpolar官網(wǎng),點擊左側(cè)的預(yù)留,找到保留的TCP地址,為遠(yuǎn)程服務(wù)器連接保留一個固定的地址:
- 地區(qū):選擇China VIP
- 描述:即備注,可自定義,本例使用mysql123
點擊保留
可以看到生成了一個固定的TCP公網(wǎng)地址:
地址保留成功后,復(fù)制生成的公網(wǎng)地址,打開cpolar web ui管理界面,點擊左側(cè)儀表盤的隧道管理——隧道列表,找到我們剛才創(chuàng)建的隨機公網(wǎng)地址隧道 mysql,點擊編輯
修改隧道信息,將剛才保留成功的固定TCP地址配置到隧道中
- 端口類型:選擇固定TCP端口
- 預(yù)留的TCP地址:復(fù)制粘貼官網(wǎng)保留成功的地址,本例中為:5.tcp.vip.cpolar.cn:12675
點擊更新
隧道更新成功后,點擊左側(cè)儀表盤的狀態(tài)——在線隧道列表,可以看到公網(wǎng)地址已經(jīng)更新為了固定TCP地址。
接下來與之前的操作一樣,可以在其他電腦(異地)上,使用這個固定的TCP地址訪問MySQL Workbench即可。
點擊修改連接信息按鈕:
ip地址位置填寫:5.tcp.vip.cpolar.cn,端口號填寫:12675 ,點擊鏈接測試,可以看到顯示測試連接成功:
成功實現(xiàn)使用cpolar內(nèi)網(wǎng)穿透工具實現(xiàn)固定TCP公網(wǎng)地址遠(yuǎn)程訪問本地MySQL數(shù)據(jù)庫界面:文章來源:http://www.zghlxwxcb.cn/news/detail-838030.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-838030.html
到了這里,關(guān)于如何在Linux用Docker部署MySQL數(shù)據(jù)庫并遠(yuǎn)程訪問本地數(shù)據(jù)庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!