Инициализация внешних баз данных из контейнера Docker - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть Dockerfile , который выглядит следующим образом:

FROM gradle:4.10.2-jdk8

ADD myproject-be/ myproject-be/
ADD myproject-be/build.gradle myproject-be/build.gradle
ADD build.gradle .
ADD settings.gradle .
ADD init/ init/

CMD gradle init_dev
ENTRYPOINT gradle bootRun -p myproject/

Как видите, я пытаюсь выполнить следующую задачу:

task init_dev {
    doLast {
        exec {
            workingDir '.'
            println "influx url: $System.env.INFLUX_HOST:$System.env.INFLUX_PORT"
            commandLine 'influx', '-host', "$System.env.INFLUX_HOST", '-port', "$System.env.INFLUX_PORT", '-import', '-path=init/influxdb-init-dev.iql', '-precision=s'
        }
        exec {
            workingDir '.'
            println "mongo url: $System.env.MONGO_HOST:$System.env.MONGO_PORT"
            commandLine 'bash', 'init/mongodb-init-runner.sh', "$System.env.MONGO_HOST", "$System.env.MONGO_PORT", 'init/mongodb-init-dev'
        }
    }
}

Таким образом, задачи в основном загружают данные в базы данных MongoDB и InfluxDB, которые находятся вне контейнера.Очевидно, что я получаю следующую ошибку при запуске контейнера:

Task :init_dev FAILED
influx url: localhost:8087
1 actionable task: 1 executed

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':init_dev'.
> A problem occurred starting process 'command 'influx''

Это связано с тем, что на контейнере не установлены CLI притока и монго.Как установить оба интерфейса командной строки?Это правильная вещь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...