Java 如何连接docker中作为容器运行的MySQL DB?
有人能告诉我如何连接mysql数据库吗?mysql数据库是作为虚拟机上Docker中的容器运行的 我不知道,请帮帮我 我想做的是:-我正在本地机器上编写一个java程序,现在我想与mysql建立一个jdbc连接。My MySQL DB在虚拟机上作为docker容器运行 有人知道吗 Connection con=DriverManager.getConnection(“jdbc:mysql://10.0.2.15/“我应该在这里放什么”,“root”,“myrootpassword”) 我的容器ip地址是172.17.0.2,来宾ip是10.0.2.15。我的sql在端口3306上运行Java 如何连接docker中作为容器运行的MySQL DB?,java,mysql,docker,jdbc,Java,Mysql,Docker,Jdbc,有人能告诉我如何连接mysql数据库吗?mysql数据库是作为虚拟机上Docker中的容器运行的 我不知道,请帮帮我 我想做的是:-我正在本地机器上编写一个java程序,现在我想与mysql建立一个jdbc连接。My MySQL DB在虚拟机上作为docker容器运行 有人知道吗 Connection con=DriverManager.getConnection(“jdbc:mysql://10.0.2.15/“我应该在这里放什么”,“root”,“myrootpassword”) 我的容器i
提前感谢您需要将数据库名称放在那里。
conn=DriverManager.getConnection(“jdbc:mysql://hostname:port/dbname“,”用户名“,”密码“;
退房
另外,在连接器中添加端口也不会有什么坏处。您的docker容器应该能够将其mysql端口绑定到VM上的任何端口。您可以使用
docker run
的-p VMPort:containerPort
选项进行绑定
所以这个命令
docker run -p 3306:3306 your-sql-container
将容器的3306端口发布到VM的3306端口
在这一点上,您应该能够使用
Connection con = DriverManager.getConnection("jdbc:mysql://10.0.2.15:3306/databaseName","root","myrootpassword");
我使用了你的虚拟机地址和虚拟机上的绑定端口。你应该用数据库的实际名称替换
databaseName
。在docker容器中连接MySQL与连接未在docker容器中运行的MySQL的工作原理相同。