使用docker容器部署powerjob

编程入门 行业动态 更新时间:2024-10-26 06:37:18

使用docker<a href=https://www.elefans.com/category/jswz/34/1771431.html style=容器部署powerjob"/>

使用docker容器部署powerjob

1. 需求

最近有个需求,是要把powerjob-server集成进系统里面。我在本地做测试完全没有问题,但是当我把powerjob移到虚拟机的容器里面去部署,发现我的worker无法访问进去。

2. 发现问题

这里我就感觉非常奇怪了,我本地没问题,并且我部署了server之后,我在网页上也能访问到,但是为什么就是注册不进去呢?

3. 排查问题

我就去看了一下日志和官方文档,大概率多网卡导致 可以在worker看下current serve的地址,然后应该发现和你的nat地址不在同一段。
然后我访问http://192.168.116.128:7700/server/hello,把ip换成你的ip地址,神奇的出现了,我本来server是192.168开头的,访问这个ur,赫然发现成了172.19。

于是我去ping了一下,肯定是ping不通的啦。

我看官网的解决方法,是绑定address的地址

于是我去试了一下,没有任何用,我指定了参数,但是还是和之前一样。

4. 解决问题

经过百般思索,然后我就尝试了一下,指定虚拟机的ip与本地通用,意思就是指定容器的网络模式为host。

yml文件贴在下面:

  powerjob:image: tjqq/powerjob-server:latestcontainer_name: powerjob-serverrestart: alwaysports:- 7700:7700- 10010:10010- 10086:10086network_mode: hostvolumes:- /data/docker-compose/powerjob:/root/powerjob/server- ~/.m2:/root/.m2environment:JVMOPTIONS: "-Xmx512m -Dpowerjobwork.local.address=192.168.116.128"PARAMS: "--oms.mongodb.enable=false --spring.profiles.active=product --spring.datasource.core.jdbc-url=jdbc:mysql://ip:3306/powerjob-product?useUnicode=true&characterEncoding=UTF-8 --spring.datasource.core.username=root  --spring.datasource.core.password=your_password"

 在host模式下,好像不用指定端口,我没在意,就这样部署上去了。

再去查看日志,可以看到日志出现了变化, 现在7700/10010/10086这三个端口都是绑定在正确的虚拟机上面,然后访问网页,可以注册进去了!

5. 友情提醒

最后提醒一下大家哈,每个人可能遇到的情况不一样,这只是我个人的解决方法,欢迎大家来交流!

后续:不使用host模式,进行部署,一样实现调度

除了host模式,一般我们在部署的时候,为了满足集群部署,docker容器化的特性。我们需要它在桥接模式下也能正常使用

经过反复的配置和测试,终于发现了,可以根据这个来实现应用在本地,server在服务器的调度了

这个配置需要在worker和server两端都进行配置

在idea中,我在VM options中配置了启动参数

-Dpowerjobwork.external.address=172.16.***.*** -Dpowerjobwork.external.port=27777

这个是我本机的IP地址。

然后我在启动server的时候,在docker-compose文件中,同样添加JVM启动参数

JVMOPTIONS: "-Xmx512m -Dpowerjobwork.external.address=192.168.***.*** -Dpowerjobwork.external.port.http=10010 -Dpowerjobwork.external.port.akka=10086"

这个启动参数中的IP是我服务器的地址,而不是docker网络的地址。

然后访问下面这个地址,你可以看到下面的externalAddress这个地址不再是你容器的地址,而是你服务器的地址。到这基本上就成功了!

其他的就是按照官网的部署方式来就行

更多推荐

使用docker容器部署powerjob

本文发布于:2024-03-07 04:13:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1716818.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:容器   docker   powerjob

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!