如何在本地托管的docker容器中连接到MySQL?我正在尝试通过SequelPro连接,但测试连接甚至无法正常工作。
下面是我的Docker命令:
docker run -it --name rodneys_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=demo mysql我可以通过命令行连接:
docker exec -it rodneys_mysql mysql -uroot -p我知道如何获取docker容器的ip地址:
docker inspect <container id> | grep "IPAddress"但是我不能从我的主机上通过SequelPro连接。
发布于 2019-01-28 22:53:46
通过使用127.0.0.1而不是localhost解决了这个问题,因为localhost意味着码头容器本身。另外,不要忘记授予用户连接的权限:
grant all privileges on *.* to 'root'@'172.17.0.1' identified by 'password';或者对于所有主机:
grant all privileges on *.* to 'root'@'%' identified by 'password';发布于 2018-10-10 21:40:15
您正在将机器的本地端口3306路由到容器的端口3306。您应该能够在SequelPro中使用localhost。
发布于 2021-09-10 22:32:09
如果您找到此页面,并且您的docker-compose.yml缺少直接指定的端口,请尝试添加其中包含端口的行,如下所示:
mysql:
image: bitnami/mariadb:latest
ports:
- "3306:3306"这对我很管用。
https://stackoverflow.com/questions/52580368
复制相似问题