Доступ к сервису Dockerized (Rundeck) с виртуальной машины - PullRequest
0 голосов
/ 14 февраля 2019

Здравствуйте, у меня есть виртуальная машина Ubuntu (использующая мостовой адаптер), в которой я запускаю докер-контейнер, в котором я запускаю Rundeck с предварительно созданным файлом войны в смонтированном томе. Когда я запускаю войну в первый раз, когда она создаетего файлы и файл конфигурации:

#loglevel.default is the default log level for jobs: 

ERROR,WARN,INFO,VERBOSE,DEBUG
loglevel.default=INFO
rdeck.base=/home/rundeck/rundeck

#rss.enabled if set to true enables RSS feeds that are public (non-authenticated)
rss.enabled=false
server.address=7d142a279564
grails.serverURL=http://7d142a279564:4440
dataSource.dbCreate = update
dataSource.url = jdbc:h2:file:/home/rundeck/rundeck/server/data/grailsdb;MVCC=true

# Pre Auth mode settings
rundeck.security.authorization.preauthenticated.enabled=false
rundeck.security.authorization.preauthenticated.attributeName=REMOTE_USER_GROUPS
rundeck.security.authorization.preauthenticated.delimiter=,
# Header from which to obtain user name
rundeck.security.authorization.preauthenticated.userNameHeader=X-Forwarded-Uuid
# Header from which to obtain list of roles
rundeck.security.authorization.preauthenticated.userRolesHeader=X-Forwarded-Roles
# Redirect to upstream logout url
rundeck.security.authorization.preauthenticated.redirectLogout=false
rundeck.security.authorization.preauthenticated.redirectUrl=/oauth2/sign_in

rundeck.log4j.config.file=/home/rundeck/rundeck/server/config/log4j.properties

Как вы видите, «server.address» и «grails.serverURL» получают идентификатор изображения по умолчанию как IP.Я не могу получить доступ к контейнеру, используя этот URL, но я могу получить к нему доступ с помощью localhost: 4440. Но после входа в rundeck он перенаправляет меня в «grails.serverURL», который выдает «Сервер не найден», как указано выше.Вот как я запускаю контейнер:

sudo docker run -it -v /path/to/source:/path/to/dest -p 4440:4440  <imageID>

Когда я меняю "server.address" и "grails.serverURL" на localhost или 127.0.0.1, я вообще не могу получить доступ к контейнеру.Извините, если на вопрос был дан ответ до того, как я пришла в докер и занималась этим уже несколько дней, не смогла найти решение, спасибо!

1 Ответ

0 голосов
/ 14 февраля 2019

Я не специалист по rundeck, но, глядя на документацию , в образе rundeck есть две переменные env для установки URL и адреса RUNDECK_GRAILS_URL и RUNDECK_SERVER_ADDRESS

docker run -d -e RUNDECK_GRAILS_URL=http://127.0.0.1:4440 -e RUNDECK_SERVER_ADDRESS=0.0.0.0 -p 4440:4440 rundeck/rundeck.

Теперь вы можете получить доступ к своему приложению по адресу http://localhost:4440

В случае, если вы запускаете свой док-контейнер на удаленном сервере, обновите RUNDECK_GRAILS_URL как RUNDECK_GRAILS_URL=http://<remote_server_ip>:4440.

Теперь вы можете получить доступ к своему приложению на http://remote_server_ip:4440

...