Ubuntu系统部署springcloud+nacos遇到的问题。

1,部署上的jar包运行正常,但是通过浏览器不能访问,telnet +IP+端口连接不通。小皮面板访问后台接口也是不通但是小皮面板可以通过浏览器访问。具体问题暂未解决。

2,改用docker部署,将jar包和前端打的包,nacos,redis等打成镜像,放进docker里对外映射出端口可以正常访问。

在用docker部署过程中遇到的问题。

  1. 服务器用的是移动云。具体做了什么配置暂未研究,因为是别人给的服务器。
  2. 配置文件放在nacos里面,就需要我们配置nacos注册中心的地址,在服务启动时才可以注册服务到nacos,这里要注意的是你docker里面nacos的版本是多少,naocs2.0版本以上就要额外映射出9848、9849端口,因为Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。但是9849是对内进行通信用的可以不爆露出来,为了保险起见还是两个一个暴露出来吧。记得去移动云服务器的安全组开放对应的端口号。

用docker部署过程。

首先是jar打成镜像

  1. docker是根据dockerfile来执行的,那我们就要先编写dockerfile文件
  2. 复制代码
     1 # 基础镜像,当前新镜像是基于哪个镜像
     2 FROM openjdk:8-oracle
     3 # RUN:容器构建时需要运行的命令
     4 ENV TZ = "Asia/Shanghai"
     5 # ADD:将宿主机目录下的文件拷贝到镜像且 ADD 命令会自动处理 URL 和解压 tar 压缩包
     6 WORKDIR /
     7 ADD ./donger-mom-mes-3.0-executor.jar mes.jar
     8 
     9 
    10 # 利用 chmod 可以藉以控制文件如何被他人所调用。
    11 RUN chmod +x mes.jar
    12 # EXPOSE:当前容器对外暴露的端口
    13 EXPOSE 9000
    14 # CMD:指定一个容器启动时要运行的命令。Dockerfile 中可以有多个 CMD 命令,
    15 # 但只有最后一个生效,CMD 会被 docker run 之后的参数替换
    16 CMD ["java", "-Xmx1024m","-Xms1024m",  "-jar", "mes.jar","--spring.config.location=/etc/mes/config/application.yml"]
    复制代码

     

  3. 将jar包与dockerfile放在同一级目录下

  4. 执行命令

    docker build ./ -t [自定义镜像名字+版本例如:pc:v1]

    docker build ./ -t pc:v1

     

前端打包:

  1. 也要编写dockerfile文件
  2. 1 # 基于nginx:1.20镜像
    2 FROM nginx:1.20
    3 # 将dist文件中的内容复制到 /www/ 这个目录下面
    4 COPY pc/ /wwwdev/
    5 # 用本地的 nginx.conf 配置来替换nginx镜像里的默认配置
    6 COPY nginx.conf /etc/nginx/nginx.conf

     

  3. 放在同一目录结构下面,执行docker build ./ -t [自定义镜像名字+版本例如:pc:v1]
  4.  

  5. 我刚开始一直有一个问题,就是前端要部署在nginx上面,所以是不是要在docker容器内先拉取一个nginx,然后再构建前端的镜像,导致一直出问题。
  6. 这里我们要明白dockerfile的意义,docker是根据dockerfile来进行镜像打包,而dockerfile的第一句话就是根据某某某基础打包,所以打出来的包其实就是一个配置好的nginx,我们直接运行就可以了,不需要在docker里面再单独拉去一个容器。
  7. 在上面的包结构下还有一个nginx.conf的文件,其实就是nginx的配置文件,我们在这里把配置文件写好,经过dockerfile打镜像(具体看dockerfile怎么写的)的时候就会把打成镜像的nginx的配置文件给替换掉我们改好的这个,可以让我们不用进入容器改,比较方便。
  8. 这里值得注意的地方有一个地方,这两处一定要注意写对,对应上,要不然会访问不到。

     

  9.  

posted @   不爱学习的摆烂王  阅读(150)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示