docker-compose база данных mysql и порт автоматически - PullRequest
0 голосов
/ 17 октября 2018

Я относительно новичок в докере, и я начал экспериментировать с простым приложением rest-boot для отдыха с spring-data и mysql.У меня есть файл компоновки Docker следующим образом:


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 и иметь работающую по умолчанию докерную машину (с ip192.168.99.100, если я бегу docker-machine ip default).

Теперь я хочу пойти дальше и запустить этот файл docker-compose на любом компьютере без ручного вмешательства.На этом этапе, если я попытаюсь запустить тот же docker-compose на Windows 10 Pro с установленным Docker для Windows , мне нужно было изменить хост базы данных на mysql и порт на внутренний порт 3306 вместо 13306.

Можно ли это как-то автоматизировать, чтобы выяснить, что такое хост и порт mysql для каждой среды?

Большое спасибо за любую помощь :)

...