У меня есть 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 притока и монго.Как установить оба интерфейса командной строки?Это правильная вещь?