当我尝试通过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