gpt4 book ai didi

mysql - Ubuntu 上的 Docker MySQL 连接问题

转载 作者:行者123 更新时间:2023-12-04 19:07:15 25 4
gpt4 key购买 nike

我很难连接到在 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 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

关于mysql - Ubuntu 上的 Docker MySQL 连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65971203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com