当前情况: 在我公司中,我们使用Windows服务器,其中已安装Docker Quickstart Terminal。我们制作了一个mysql容器,并在其中制作了一个数据库。我们通过在代码(主机参数)中使用服务器的IP,在远程个计算机中使用python应用访问数据库:
connx = mysql.connector.connect(user='root', password='somepass', host='192.XXX.XX.XX', port=3306, database='db_name', auth_plugin='mysql_native_password')
但是我们在服务器端使用端口转发来访问dockerized数据库,因此数据包被转发到192.168.99.100(默认docker IP)
未来情况: 该公司已决定更改服务器并改用Ubuntu(我认为v18.04)。不幸的是,我对linux的经验很少,无法找到简单的答案,如下所示:
“我们在上面的host参数上应该使用哪个IP?” 在Linux上安装Docker似乎并没有安装VM,因此新服务器的IP是否足以远程访问Dockerized IP?
PS:我们可能会在服务器上执行“ docker run -p 3306:3306 mysql:latest”命令以暴露端口
答案 0 :(得分:0)
您应该能够像在Windows Server中那样访问数据库,即使用Ubuntu主机的IP,并使用主机端口转发容器化数据库端口。