mysql - 应用程序和 MySQL Docker 容器通过 docker-compose 连接在一起。如何从我的应用程序使用 JDBC url 连接到 MySQL 容器数据库?

标签 mysql docker docker-compose

我有两个使用 docker-compose 连接在一起的 Docker 容器。第一个是我的应用程序 Docker 容器。第二个是MySQL容器。

这是我的 docker-compose 文件:

version: '3.1' 
services:
db:
image: mysql:latest
environment:
  - 'MYSQL_USER=root'
  - 'MYSQL_ROOT_PASSWORD=claytablet-pw'
ports:
  - '3306:3306'    
restart: always
environment:
  MYSQL_ROOT_PASSWORD: claytablet-pw
  aem63:
image: pulse/prepared-aem-6.3.1.1:3
restart: always
depends_on:
  - 'db'    
ports:
  - '4502:4502'
links:
  - 'db:db'

我已经在 MySQL 容器中创建了一个数据库。现在我需要使用应用程序容器内的 JDBC url 连接到它。应该使用什么端口来代替? jdbc:mysql://?:3306/claytabletdb?characterEncoding=UTF-8?

最佳答案

您应该在应用容器内使用db:3306

有关更多信息,请查看文档:https://docs.docker.com/compose/networking/

关于mysql - 应用程序和 MySQL Docker 容器通过 docker-compose 连接在一起。如何从我的应用程序使用 JDBC url 连接到 MySQL 容器数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50155253/

相关文章:

php - 拉拉维尔 : Use join and scope query

c# - 基本容器化 ASP.NET 3.1 Core 应用程序部署到 Azure ACI 失败

docker - 如何在 Docker 内的 M1 (ARM) 上运行 ElasticSearch v6

mysql - Docker compose mysql 退出,代码为 0

mysql - 在mysql中获取每个人第二高的薪水

php - 如何从 Twitter 消息 ID 'tag:search.twitter.com,2005:7550668919283712' 中删除此标签

mysql - E WTRN0063E : An illegal attempt to commit a one phase capable resource with existing two phase capable resources has occurred

docker - Kubernetes 不会从私有(private) Docker Registry 中提取

docker - 从多个 dockerfile 构建多个图像

docker - 如何在安装了 Docker 企业版 (EE) 的 Windows Server 2019 机器上安装 Docker Compose?