以下是从App(tomcat)连接到DB(mysql)的方法。
有两种方法可以做到这一点
- 使用链接
- 通过向tomcat app提供db的IP地址的手动方式
醇>
示例-1(链接)
“docker run --name db -e MYSQL_ROOT_PASSWORD =”xxxx“-e
MYSQL_DATABASE =“xxxx”-d mysql“
- 您现在需要构建并运行必须的应用程序容器
知道db实例在哪里。你必须找出你的位置
提供应用程序中db的链接。它可以在代码中
或在属性文件中。您可以使用卷将此文件装入
应用容器。你也可以修改它们
飞,因为它们可以在主机系统上访问。这个
这样做的一个例子是:docker
docker run -d -p 8080:8080 --name app --link db:db -v
$ PWD / webapp:/ var / lib / tomcat7 / webapps / app
- 这里我们正在使用图像应用程序,我正在挂载webapp文件夹
从我的docker基本文件夹。这个文件夹是我的代码
推送到tomcat的webapp文件夹。我也在推动
属性文件到容器所在的适当位置
提到mysql连接是这样的:
“jdbc.url = jdbc:mysql:// db:3306 / dbname”。我们正在映射8080的端口
容器到主机的端口8080。我们正在映射容器
db with container app。这会在/ etc / hosts文件上创建一个条目 - “db
ipname“。因此,即使相关,两个容器也可以相互通信
我们重新启动数据库容器(更改IP)。链接将更新
具有新IP的主机条目。
示例2:
- 向上扩展数据库容器
- 使用此“docker inspect -f'{{.NetworkSettings.IPAddress}}'container-name / ID”
获取数据库容器的IP
- 使用卷编辑应用容器,您可以在其中编辑主机上的jdbc网址。
- 将IP更改为db容器的IP,这应该能够建立连接
如果你想使用Host的mysql
docker run -d --net = host --name app image command
如果您需要任何进一步的解释,请告诉我。
您可以浏览有关卷的主题,来自docker文档的链接:https://docs.docker.com/