记录docker部署java微服务测试

技术相关 浏览量: 1906 作者: 谁的猫 2020-09-08

之前云上测试java代码的时候让运维做的,这几天找运维拿了账号和vpn,开了端口测试了一波....心累

简单说下吧,我之前把华为云的车牌识别微服务部署上去的  总共4个jar包   注册中心eureka  网关zuul  车牌识别微服务 以及一个common公共包(感觉是不用的这个包,因为其他的服务引用了这个jar包的,打包一起打进去了的,但是我还是留着了) 

  之前运维部署方式是   docker创建一个容器  这里叫 xhiot 吧(容器名字),然后容器里有jdk  tomcat 相关镜像  然后把jar包所在目录挂载到宿主机的home/xhiot 下,直接用nohup java -jar 启动的jar包,容器端口映射宿主机端口(如:容器内 网关10000端口->对应宿主机10000端口)。然后公网对外开放19000端口,外部请求走19000端口,宿主机做转发,转发到网关端口....

  然后这次又写了个小功能,批量导入导出Excel表格数据,OK 写吧,数据结构比较简单,就不细说了,主要是这次我自己上传部署测试,有点心累...

  docker我个人不太熟,主要是它的命令真心长,看见就劝退....

  一连接上服务器,一看启动脚本,简单除暴直接...按照格式新添加一个 ,启动,报错,说什么‘/r’找不到...

 OK,看看服务启动成功了吗...

netstat -nultp | grep java

神奇,启动成功....OK  然后不管了  想测试,结果发现,端口没做映射....

于是百度....如何给已经启动的容器做端口映射

本人试验了一个方法  成功

# 先停止容器

docker stop 容器id

#再停止docker服务

systemctl stop docker

#然后进入docker目录
cd /var/lib/docker/containers

#里面是你的容器id文件目录,进入你需要更改端口映射的容器

#里面有一个hostconfig.json文件,找到这一段

                  #宿主机端口   #ip              #本容器端口
"PortBindings":{"10000/tcp":[{"HostIp":"","HostPort":"10000"}],"9000/tcp":[{"HostIp":"","HostPort":"9000"}]}

#你想新添什么端口直接在最后一个中括号后面添加
#改完之后,保存
#然后打开config.v2.json,找到下面这一段,按照格式添加就行
"ExposedPorts":{"10000/tcp":{},"9000/tcp":{}}
#保存,重启docker服务,重启容器


然后你会看见端口映射成功

之后我在本地用postman测试就OK了....

对了  中间用nginx做了个反向代理,把表格模板放在了挂载目录下,nginx指向了表格所在目录,这样可以直接用url下载....

OVER!

Top