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

时间:2020-09-17 09:38:04

标签: mysql docker docker-compose

我正在尝试通过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容器一样(因此,没有碰上好门)。

请注意,我只允许SSH / localhost访问,所以我不允许从mysql进行远程访问。

你有什么主意吗?谢谢

1 个答案:

答案 0 :(得分:0)

您已经公开了端口3306,因此应该可以使用以下命令从系统中访问它-

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

如果无法访问,请尝试以交互方式登录mysql容器,以尝试在docker会话中访问它。