java - 如何将 docker 容器连接到远程数据库?
问题描述
几天前我开始了 docker 教程。我正在尝试连接到远程数据库。我不知道如何在我的yml
文件中添加数据库 URL 这是我要连接的数据库:mydomainuat1.mydomain.com:1531/myuat
. 下面是我的yml
文件。
version: "3"
services:
mydb:
image: 7bb2586065cd
ports:
- "3306:1531"
environment:
- MYSQL_ALLOW_EMPTY_PASSWORD:1
- MYSQL_DATABASE:students
- MYSQL_USER:kaka
- MYSQL_PASSWORD:kaka1234
networks:
- my-network
ws:
image: 92c203b7b219
ports:
- "8085:8085"
depends_on:
- mydb
networks:
- my-network
networks:
my-network:
driver: overlay
解决方案
好像你在这里混淆了一些东西。你所做的docker-compose.yml
是定义一个mydb
服务,它将在你的 Docker 主机上启动一个数据库。然后,您的ws
服务可以使用mydb:1531
. (如果您只希望容器与数据库通信,则端口映射3306
也不是必需ws
的,因为它们不依赖于主机端口。)
如果您想访问另一台机器上的远程数据库,则根本不需要该mydb
服务,只需将连接详细信息传递到您的ws
容器中,就像您已经为该mydb
服务所做的那样,然后从那里继续。
推荐阅读
- dart - 使用 firebase 的实时数据库时,CheckboxListTile 无法正常工作
- here-api - 此处映射 JS API — 在移动设备上滚动时禁用平移
- c# - Math.Round() 在 13.694999999998 的情况下如何工作?
- json - 显示 JSON 响应而不是下载它
- windows - 有没有办法使用 PowerShell 在本地服务器上检查任意安全主体的管理权限?
- php - 在php中将对象附加到数组中
- sql-server - TSQL - STSymDifference
- azure-devops - 无法将任务或用户故事分配给 Azure DevOps 中的项目成员
- java - 如何使用 Spring Boot 设置 JSESSION cookie 的过期日期时间
- c# - 如何为 DataGrid WPF 创建复杂的过滤器