通过SSH隧道从远程访问docker上的本地mysql



我正试图通过SSH隧道从工作台访问我的mysql数据库,mysql在一个容器中(使用docker compose(。

以下是我在docker compose:中的mysql容器配置

mysql:
image: mysql:5.7
container_name: mysql
expose:
- 3306
ports:
- '3306:3306'
volumes:
- ./mysql:/var/lib/mysql
environment:
- "MYSQL_ROOT_PASSWORD=#####"
- "MYSQL_DATABASE=#####"
- "MYSQL_USER=#####"
- "MYSQL_PASSWORD=#####"
restart: always

但我得到了一个";未能连接到MySQL";错误,就像我的端口没有很好地从SSH重新转发到MySQL容器一样(因此,没有击中好的门(。

请注意,我不允许从mysql进行远程访问,因为我只想让SSH/localhost访问成为可能。

你知道吗?感谢

您已经暴露了端口3306,因此您应该能够使用以下命令从系统访问它-

mysql -u <mysql_user> -p -h localhost -p 3306

如果不可访问,请尝试以交互模式登录mysql容器,是否可以在docker会话中访问它。

最新更新