Docker 服务端口一览
最近研究微服务,使用Docker来进行部署应用。说实话docker是个好东西,只要编写好Dockerfile文件和docker-compose.yml文件,便能快速启动并运行相关服务。
调试过程中查看服务可以使用
docker ps
然而调试项目的时候必须输入一堆的ip和端口来,让人有点不爽。
咱们发挥技术人的优势,能用程序搞定的绝不手工,找了一通,发现下面这个命令可以查看应用名称和端口的对应关系。
docker ps --format "{{.Names}} {{.Ports}}"
便想到通过调用shell脚本的方式来获取内容,传送到前端页面进行展示!
话不多说,下面上核心代码:
@AutowiredHttpServletRequest request;@GetMapping({"", "/", "index"})public String index(Model model)throws IOException{// 输出docker应用映射端口String[] cmd = SystemUtils.IS_OS_WINDOWS ? new String[] {"cmd", "/C", "docker ps --format \"{{.Names}} {{.Ports}}\""}: new String[] {"/bin/sh", "-c", "docker ps --format \"{{.Names}} {{.Ports}}\""};Process ps = Runtime.getRuntime().exec(cmd);BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));Map<String, Set<String>> map = new TreeMap<>();String line;while ((line = br.readLine()) != null){String name = StringUtils.substringBefore(line, " ");Set<String> ports = new TreeSet<>();String portText = StringUtils.substringAfter(line, " ");for (String it : portText.split(",")){String port = StringUtils.substringBetween(it, ":", "->");if (StringUtils.isNotBlank(port)){ports.add(port.replace(":", ""));}}map.put(name, ports);}model.addAttribute("baseUrl", StringUtils.substringBeforeLast(request.getRequestURL().toString(), ":"));model.addAttribute("map", map);return "index";}
前端页面展示效果:
完整的代码请参考:
https://gitee.com/00fly/java-code-frame/tree/master/springboot-cache
-over-
Docker 服务端口一览相关推荐
- iptables配置docker服务端口访问限制
服务器系统为 CentOS 7 PS:CentOS 7自带iptables,但不自带iptables-services,你有需要可以装,也可以不装,不影响本文的操作和阅读 遇到了一个需求,需要用ipt ...
- 阿里云-node服务(一)阿里云 ECS 的Docker法端口映射
问题: 在我们使用docker启动node服务后,对外无法访问该pod的端口.下面我们说一下怎么解决. 这里有一个比较好的文章: 知乎文章 1.命令ifconfig 首先我们通过这个命令可以看见我们的 ...
- Docker服务开放了这个端口,服务器分分钟变肉机
之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口.由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵 ...
- Docker服务开启TCP端口
使用场景: 默认安装的Docker服务不支持远程连接,开启TCP端口后可以进行远程连接Docker 环境: CentOS Linux release 7.8.2003 (Core) 1.打开编辑: v ...
- openstack常用命令及控制节点端口一览
[常用命令] 1,查看服务 openstack service list 2,查看endpoint openstack endpoint list, 3,查看域 openstack domain li ...
- linux修改容器内的mysql端口映射_修改docker容器端口映射的方法
大家都知道docker run可以指定端口映射,但是容器一旦生成,就没有一个命令可以直接修改.通常间接的办法是,保存镜像,再创建一个新的容器,在创建时指定新的端口映射. 有没有办法不保存镜像而直接修改 ...
- docker 添加端口映射_Docker容器修改端口映射
对于已经建立的docker容器,需要新增容器对主机的端口映射,主要分为三种: 一:通过修改配置文件修改docker容器端口映射 1.使用docker ps -a命令找到要修改容器的CONTAINER ...
- Docker 使用Dockerfile构建自己的docker服务(三)
先介绍一下DockerFile文件的一些指令说明 DockerFile的指令 FROM 基础镜镜像,一切从这里开始构建 MAINTAINER 镜像是谁写的,姓名+邮箱 RUN 镜像构建的时候需要运行的 ...
- docker 2376端口 CA 认证,并不能阻止服务器成为肉鸡
看网上很多评论:自签CA证书,生成服务器CA签名证书,和客户端CA签名证书:docker服务端配置服务器CA签名证书,允许docker远程控制的客户端,配置客户端CA:只有该客户端CA签名证书才能远程 ...
最新文章
- 让汽车软件进入 iPhone 时代!
- 互联网1分钟 |1120
- Slax Linux安装——备忘篇
- ICCV2015上的GazeTracker论文总结
- ps流 转发_RTP协议全解析(H264码流和PS流)(转)
- Java——IO(打印流)
- 2017.9.8 字符串 失败总结
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(67)-MVC与ECharts
- TensorFlow可以“预装”数据集了,新功能Datasets出炉
- 下载DirectX 9 SDK开发包
- 屏幕尺寸、分辨率、像素密度三者关系
- 基于XSSFWorkbook 实现POI设置指定列为文本格式
- KDA的新宠儿,金贝KD6,更大算力,探索无限可能
- 1688商品详情api接口
- 关于防止表单重复提交
- 工业元宇宙三人行系列直播活动第五场在北京举办
- linux RAID管理与恢复误删除文件
- linux 时间 find,linux find 时间time
- 大数据赋能,如何精细化运营?
- react ts环境搭建及ts格式写法
热门文章
- 高性能网络I/O框架-netmap源码分析
- java鲁滨逊漂流记安卓_鲁滨逊漂流记java安卓,鲁滨逊漂流记摘抄加赏析
- Latex调整表格宽度
- 2012盘点“孔子”周润发的经典语录年度经典语录励志天
- linux查找文件内容包含add的文件,Linux环境变量与文件查找教程
- java计算机毕业设计基于安卓Android的校园流浪猫收养app
- asp.net 插入视频
- Web 2.0的八个核心模式与成功技巧
- 硬件FOC伺服控制芯片TMC4617适应永磁同步伺服/直流无刷伺服/直流有刷伺服/闭环步进/音圈电机
- Failed to configure a DataSource: ‘url’ attribute is not specified and no embedd