从VM访问dockerized服务(Rundeck)

时间:2019-02-14 14:29:57

标签: docker networking ip port rundeck

你好,我有一个Ubuntu VM(使用桥接适配器),其中我正在运行一个docker容器,其中我在安装的Volume中使用预构建的war文件启动Rundeck。当我第一次运行war时,它会创建其文件和配置文件:

#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”将默认图像ID作为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时,我根本无法访问该容器。 抱歉,如果我刚接触docker之前已经回答了问题,并且已经待了几天,就找不到解决方案了,谢谢!

1 个答案:

答案 0 :(得分:0)

我不是rundeck的专家,但是查看documentation rundeck图像有两个环境变量,用于设置URL和地址RUNDECK_GRAILS_URLRUNDECK_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

访问您的应用程序

如果您在远程服务器上运行docker容器,则将RUNDECK_GRAILS_URL更新为RUNDECK_GRAILS_URL=http://<remote_server_ip>:4440

现在您可以在http://remote_server_ip:4440上访问您的应用了