【发布时间】:2020-08-04 20:47:51
【问题描述】:
我的运行 Spring Boot 服务的 docker 是否可以连接到主机上运行的 MySQL 数据库?
在运行docker时使用-p标签是无效的,因为如果端口正在使用,则不允许端口绑定
【问题讨论】:
-
您能否向我们展示您要实现的目标的最小可重现示例? stackoverflow.com/help/minimal-reproducible-example
我的运行 Spring Boot 服务的 docker 是否可以连接到主机上运行的 MySQL 数据库?
在运行docker时使用-p标签是无效的,因为如果端口正在使用,则不允许端口绑定
【问题讨论】:
是的,您可以连接到在主机上运行的 MySQL DB。
您需要做的就是在您的 docker run 命令中使用 --net host 在host 网络上运行 docker 容器(包含 Spring Boot 服务)。
例子:
docker run -itd --net host --name myapp myimage
请注意,如果您对容器使用主机网络模式,则该容器的网络堆栈不会与 Docker 主机隔离。
阅读更多关于 docker 主机网络here
【讨论】: