New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docker 使用idoop/docker-apollo镜像,启动后建完项目报“系统出错,请联系系统负责人” #1444
Comments
看一下portal的日志,看上去是portal没有找到或者连不上admin service。 eureka服务注册有一定延时,所以如果是刚启动完出现这个的话,可以稍等一会儿。 |
先看一下日志吧 |
config service和portal启动在同一台机器上? 看看config service有没有起来 |
有三个服务提示启动成功了 |
|
config service启在8050端口,所以eureka.service.url应该是 |
再问一下pro.meta在哪里改 |
看下面的文档,你要配一下PRO_URL https://github.com/idoop/docker-apollo PRO_URL: 远程pro服务,格式为http://ip:port 或 domain:port 不可与PRO_DB同时指定,数据库中ServerConfig中eureka.service.url的地址与端口需正确. |
嗯,这个我看了。默认PRO_URL是注释的 |
建议咨询一下 @idoop |
还是读不出环境列表就报错了。 好的,谢谢 |
问题解决,同时看docker日志3个已经启动,实际上还需要在等待一段时间,具体原因有待探究 |
eureka的服务注册有一定延时,应该和这个有关系 |
报错貌似就是timeout啊,是超时时间设置的太小了吗? |
没有设置超时时间,应该是默认的 |
上面这个问题,我回答一下。同时引发另外一个BUG。1、你上面用了Pro_db就不要用pro_url了,这两个是有冲突的,你打开他的启动文件查看一下就能看懂,他的意思是,Pro_url表示另外新建了一个pro的admin和Config服务,这里通过url就可以引用了,如果又Pro_url就不会判断pro_db参数,如果没有Pro——url就判断如果又pro_db就新建一个服务。我也是用的上面的镜像,采用的其他的都没啥问题,但是我也遇上了上面的错误提示,load env :DEV cluster error.404 Not Found。 |
quick-satrt的镜像应该是nobodyiam 你写的,我尝试修改他的demo.sh里面,加上jvm参数,指定Deureka.instance.homePageUrl,也出现了跟idoop的镜像一样的问题。就是要么能启动服务使用,但是只能在局域网内部,因为只识别到了内网Ip,要么增加这个参数,导致portal网站配置出现bug。所以应该不是镜像的问题,应该是代码bug。 1.0.0版本。 |
抱歉这么晚才看到,下次版本更新的时候我会加上简单的wiki的,这样大家都避免摸索,节省时间。 version: '2'
services:
apollo-test:
image: idoop/docker-apollo:1.0.0
container_name: apollo-uat
restart: unless-stopped
network_mode: "host"
environment:
UAT_DB: jdbc:mysql://rm-xxx.mysql.rds.aliyuncs.com:3306/ApolloConfigDB?characterEncoding=utf8
UAT_IP: xxx.xxx.xxx.xxx
UAT_DB_USER: xx
UAT_DB_PWD: xxxxx Pro环境的数据库中的serverconfig表中的servier.url改成与UAT_IP一致,如果有指定端口参数的,记得端口也要一致. version: '2'
services:
apollo:
image: idoop/docker-apollo:1.0.0
UAT_URL: http://xxx.xxx.xxx.xxx:8082 |
回答你的注册内网IP的问题,一般应用都是和配置中心部署在同一个内网的,所以注册内网IP是没问题的。 如果只是本地开发调试需要连接云端配置中心的话,大可不必大费周折配置 |
@nobodyiam @idoop 谢谢你们的回复。确实不需要在config-service 和admin-service注册 homepageurl参数,我在.net core的appsettings.json里面加上了 Apollo.ConfigService 参数,客户端就能寻址正确了。弄了好久,之前不知道.net的编码规则,源码都是帕斯卡命名法增加参数,当然因为文档上没写明,也不确定这个参数能用。 @quezhihui 加上下面这个参数 就可以使用了。 { |
@xwb2535 之前是在java版本增加了这个参数,.net版本貌似应该没有支持 |
@nobodyiam 但是我用了,确实就正常了.... 我是下载的源码,不是nuget获取的sdk |
@nobodyiam |
@idoop 这个docker镜像 https://hub.docker.com/r/idoop/docker-apollo/~/dockerfile/ 开放了所有端口,EXPOSE 80-60000, docker对于容器的管理 比如我用的portainer就卡死了,能修改一下注释行么 # EXPOSE 8070 8080 8081 8082 8083 8090 8091 8092 8093。 另外,我下载了你的git上面的docker-entrypoint的代码来自己生成,但是运运行会又错误,只能用你的镜像,所以还是麻烦你重新上传一下docker。 |
@xwb2535 可以了,你重新pull一下。 |
好的,谢谢 |
case先关闭了,如还有问题,可以提供更多信息,或进群交流。 |
docker-compose如下,只配置了PRO环境
version: '2'
services:
apollo:
image: idoop/docker-apollo:latest
container_name: apollo
hostname: apollo
network_mode: "host"
volumes:
- ./logs:/opt
environment:
PORTAL_DB: jdbc:mysql://192.xxx.xxx.xxx:3306/ApolloPortalDB?characterEncoding=utf8
PORTAL_DB_USER: oa
PORTAL_DB_PWD: App1234
PRO_DB: jdbc:mysql://192.xxx.xxx.xxx:3306/ApolloConfigDBPro?characterEncoding=utf8
PRO_DB_USER: oa
PRO_DB_PWD: App1234
PRO_CONFIG_PORT: 8050
PRO_ADMIN_PORT: 8051
The text was updated successfully, but these errors were encountered: