Ubuntu上的Docker MySQL连接问题
我很难连接到运行在Ubuntu上的MySql的docker容器实例。以下是创建docker的代码:Ubuntu上的Docker MySQL连接问题,mysql,docker,ubuntu,Mysql,Docker,Ubuntu,我很难连接到运行在Ubuntu上的MySql的docker容器实例。以下是创建docker的代码: docker run --name=mysql_db --env="MYSQL_ROOT_PASSWORD=password" -p 3308:3308 -v /opt/permstorage:/var/lib/mysql -d mysql:latest 我一直在尝试诊断网络中另一台Ubuntu机器的访问,但我一直被拒绝连接。我可以使用下面的命令登录docker,这样我就知道
docker run --name=mysql_db --env="MYSQL_ROOT_PASSWORD=password" -p 3308:3308 -v /opt/permstorage:/var/lib/mysql -d mysql:latest
我一直在尝试诊断网络中另一台Ubuntu机器的访问,但我一直被拒绝连接。我可以使用下面的命令登录docker,这样我就知道我的密码是正确的
docker exec -it mysql_db mysql -uusername -p
我使用AWS服务器成功地运行了完全相同的代码,但由于某些原因,它在我的网络中不起作用,我怀疑这与ip地址有关,但我无法诊断如何解决这个问题
我已经在ufw打开了3308端口。但是,即使在本地使用dbeaver,我也无法访问docker mysql实例。我应该从哪里开始诊断?在下面添加添加信息:
(base) user@Alienware:~/Downloads$ telnet 127.0.0.1 3308
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Connection closed by foreign host.
(base) user@Alienware:~/Downloads$ telnet 192.168.4.249 3308
Trying 192.168.4.249...
telnet: Unable to connect to remote host: Connection refused
(base) user@Alienware:~/Downloads$ telnet localhost 3308
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.
(base) user@Alienware:~/Downloads$ sudo ufw status
[sudo] password for user:
Status: active
To Action From
-- ------ ----
3389/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
3389 ALLOW Anywhere
3308 ALLOW Anywhere
3389/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
3389 (v6) ALLOW Anywhere (v6)
3308 (v6) ALLOW Anywhere (v6)
原来我的错误是将内部端口映射到3308。以下内容更正了我的问题:
docker run --name=mysql_db --env="MYSQL_ROOT_PASSWORD=password" -p 3308:3306 -v /opt/permstorage:/var/lib/mysql -d mysql:latest