當我嘗試通過SSH隧道連接到主機Mashine(vServer),然後嘗試通過內部Docker Container-IP進行連接時,我無法連接到MySQL。如何通過SSH連接到MySQL Docker容器?
這是我的docker-compose文件。
version: '2'
services:
mysql:
build: ./mysql
environment:
MYSQL_ROOT_PASSWORD: test
volumes:
- ./db:/var/lib/mysql
我發現的唯一解決方案是將mysql容器的MySQL-Port轉發到Host-Mashine。
version: '2'
services:
mysql:
build: ./mysql
environment:
MYSQL_ROOT_PASSWORD: test
volumes:
- ./db:/var/lib/mysql
ports:
- 3306:3306
然後我能夠通過主機IP連接到MySQL,但這是沒有SSH它直接通過TCP和端口。 對於我來說,將MySQL服務帶入互聯網是一件不容易的事。
可以在這裏找到原因https://security.stackexchange.com/questions/63881/is-it-not-safe-to-open-mysqls-port-to-the-internet爲什麼把你的mysql端口帶入互聯網並不是一個好的做法。
那麼什麼是一個很好的做法,連接到我的碼頭mysql容器與SSH,但保持MySQL端口關閉?
第一個建議爲我解決了這個問題,現在我可以通過SSH通過HeidiSQL連接到我的MySQL-Container,而無需付出很多努力。你的第二個建議對小事很好,但我喜歡我的GUI HeidiSQL。 – TatzyXY