docker-compose mysql数据库主机和端口自动化

时间:2018-10-17 10:54:05

标签: mysql docker spring-boot docker-compose containers

我对Docker相对较新,我开始尝试使用带有spring-data和mysql的简单spring-boot rest应用程序。我有一个docker compose文件,如下所示:


version: "3"
services:
  transfers:
    image: bernicezerafa11/playground:3.0.0
    depends_on:
      - mysql
    ports:
      - "8542:8080"
    environment:
      - DATABASE_HOST=192.168.99.100 # change to mysql if running without docker-machine
      - DATABASE_USERNAME=root
      - DATABASE_PASSWORD=root
      - DATABASE_NAME=transfers
      - DATABASE_PORT=13306 # change to 3306 if running without docker-machine
  mysql:
    image: mysql:5.7
    ports:
      - "13306:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=transfers

我的本​​地环境是Windows 10 Home,即我需要安装 docker工具箱,并运行默认的docker-machine(如果运行192.168.99.100,则使用ip docker-machine ip default) 。

现在,我想更进一步,让此docker-compose文件在任何机器上运行而无需人工干预。此时,如果我尝试在安装了 Docker for Windows 的Windows 10 Pro上运行相同的docker-compose,则需要将数据库主机更改为mysql,并将端口更改为内部端口3306而不是13306

这可以通过某种方式自动确定每个环境的mysql主机和端口是什么吗?

非常感谢您的帮助:)

0 个答案:

没有答案