求助,微服务用jar包用bat启动正常启动,打包到docker里后链接报错(已解决)

create_bug 2024-08-02 16:48:47

 

这个是我的dockerfile 包括jar包一共有5个这样的

version: '3.8'

services:
  dc3-center-auth:
    image: dc3-center-auth:2024.08.02
    ports:
      - "8082:8082"
    container_name: dc3-center-auth
    environment:
      - JAVA_OPTS=-Xmx512m
    networks:
      - my-network

  dc3-center-data:
    image: dc3-center-data:2024.08.02
    ports:
      - "8083:8083"
    container_name: dc3-center-data
    environment:
      - JAVA_OPTS=-Xmx512m
    networks:
      - my-network

  dc3-center-manager:
    image: dc3-center-manager:2024.08.02
    ports:
      - "8066:8066"
    container_name: dc3-center-manager
    environment:
      - JAVA_OPTS=-Xmx512m
    networks:
      - my-network

  dc3-driver-modbus-tcp:
    image: dc3-driver-modbus-tcp:2024.08.02
    ports:
      - "8096:8096"
    container_name: dc3-driver-modbus-tcp
    environment:
      - JAVA_OPTS=-Xmx512m
    networks:
      - my-network

  dc3-gateway:
    image: dc3-gateway:2024.08.02
    ports:
      - "8097:8097"
    container_name: dc3-gateway
    environment:
      - JAVA_OPTS=-Xmx512m
    networks:
      - my-network

networks:
  my-network:
    driver: bridge

这个是我的yml文件配置,我是先打包镜像然后用

docker-compose -f dc3-docker-compose-dev.yml up -d dc3-gateway dc3-driver-modbus-tcp dc3-center-manager dc3-center-data dc3-center-auth

一次性打包。一般用bat方式启动的时候可以在docker部署的nacos查看服务。但是我从docker里启动后五个全部报错然后停止。日志主要是报RabbitMQ服务和MySQL服务无法建立连接,研究一天了不清楚怎么回事,bat正常在docker就会有问题


解决方案:因为在docker内部启动MySQL镜像担心端口冲突映射端口和端口设置为33306和3306;在jar里的设置的端口访问都是33306,但是进入内部后应该访问的3306.

其次可能是配置项问题,导致两个Docker Compose即使挂在了同一个networks也无法互相通信。目前没有好的方法解决问题只能无奈把所有的打包到一起

 

...全文
102 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,182

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧