返回顶部
首页 > 资讯 > 服务器 >解决基于Docker部署PowerJob跨服务器的网络连接问题
  • 234
分享到

解决基于Docker部署PowerJob跨服务器的网络连接问题

docker服务器容器PowerJob 2023-08-31 08:08:19 234人浏览 独家记忆
摘要

方式一、主从服务器分别配置 前提:docker、docker-compose 主服务器的 Docker-compose.yml 的配置 从服务器的 docker-compose.yml 的配置

方式一、主从服务器分别配置

前提:docker、docker-compose


主服务器的 Docker-compose.yml 的配置
在这里插入图片描述

从服务器的 docker-compose.yml 的配置
在这里插入图片描述

解决思路:使用 host 网络模式,而且给powerjob指定网络,避免它自动获取,否则将会失败

– 缺点就是每个服务器都要去配置

方式二、基于docker swarm 部署

前提:docker、docker-compose、docker-swarm

解决思路:使用 docker swarm 保证跨服务器后容器间相互访问

什么?没有用过 docker swarm?那自己自行百度学习去,学习完再回来接下去看。还有,docker compose 没有用过的话也要先看看


创建docker-compose的配置文件
在这里插入图片描述
具体内容

version: '3'services:  server:    image: powerjob/powerjob-server:latest    hostname: powerjob-server    restart: always    environment:      PARAMS: "--oms.mongoDB.enable=false --spring.datasource.core.jdbc-url=jdbc:Mysql://powerjob-mysql:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"      JVMOPTIONS: "-Dpowerjob.network.local.address=powerjob-server"    ports:      - "7700:7700"      - "10086:10086"      - "10010:10010"    networks:       - overlay    volumes:      - ./powerjob-data/powerjob-server:/root/powerjob/server/    deploy:      placement:        constraints: [node.role == manager]  worker:    image: powerjob/powerjob-worker-samples:latest    hostname: powerjob-worker    restart: always    depends_on:      - server    environment:      PARAMS: "--powerjob.worker.server-address=powerjob-server:7700"      JVMOPTIONS: "-Dpowerjob.network.local.address=powerjob-worker"    ports:      - "8081:8081"      - "27777:27777"    networks:       - overlay    volumes:      - ./powerjob-data/powerjob-worker-samples:/root/powerjob/worker    deploy:      placement:        constraints: [node.role == worker]networks:  overlay:

然后启动

# 启动服务, [powerjob]是服务的名称docker stack deploy -c docker-compose.yml powerjob# 移除服务,[powerjob]是服务的名称docker stack rm powerjob# 查看启动日志 serviceName= [服务的名称]_[docker-compose容器名]docker service ps --no-trunc [serviceName]例子:docker service ps --no-trunc powerjob_server

可能碰到一些问题

  1. 找不到数据卷
    解决方法:可以安装使用 NFS 服务,解决跨服务器的文件访问问题
  2. 自建的镜像在swarm的worker下无法拉取
    解决方法:
    方法一、只使用jdk公共镜像做基础镜像直接运行worker的jar
    方法二、在DockerHub仓库注册自己的账号,推送自建的镜像到仓库。但这个有个缺陷就是需要能够访问外网,如果不能访问外网,也可以自己搭建一个私有hub仓库

来源地址:https://blog.csdn.net/LZY_1993/article/details/129860974

--结束END--

本文标题: 解决基于Docker部署PowerJob跨服务器的网络连接问题

本文链接: https://lsjlt.com/news/384771.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作