使用本地主机和端口号连接到在Docker容器中运行的mysql

时间:2018-08-09 10:41:10

标签: docker docker-compose

我遇到的情况是,我的MySQL和tomcat在两个单独的容器中运行,并且我正在部署包含hibernate.cfg.xml和以下连接URL的战争 <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/development_Blobs_001</property>

我有看起来像这样的docker-compose.yml

services:

    database:
        build : database
        restart : always
        ports : 
           - "3306:3306"  #HOST_PORT:CONTAINER_PORT
        environment :
            MYSQL_USER : root
            MYSQL_ROOT_PASSWORD : password

    webapp:
        build : server
        ports : 
          - "8080:8080"
        links :
          - database

现在的问题是如果我使用以下连接URL,我就可以连接到数据库

<property name="hibernate.connection.url">jdbc:mysql://database:3306/development_Blobs_001</property>

但是随后我的所有hibernate.cfg.xml中都需要对此进行更改,我想避免进行此修改,因为这样做很麻烦...我该如何解决此问题?

我正在使用docker-compose,默认情况下会创建一个网络并在该网络中运行容器,我可以使用容器名称在容器之间建立通信,但我需要避免在所有cfg.xml中用容器名称替换localhost文件..

0 个答案:

没有答案