如何根据主机监听端口号查找到对应docker容器

文章讲述了在Docker环境中,当遇到使用特定端口(如31883)但无法确定对应容器的问题时,如何通过`dockerps`命令结合端口映射信息来找到正确容器的方法。正确的解决方案是使用`dockerps--format`命令筛选出包含指定端口的容器信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何根据主机监听端口号查找到对应docker容器

  • 问题描述

       使用了一个端口是31883,这是个mq的端口号,但是怎么都找不到是哪个docker容器启用的

  • 问题尝试解决

       使用命令lsof -i:31883 如图
在这里插入图片描述
然后接着使用 ps -ef|grep 1128796,如图根本查不出来任何有效信息
在这里插入图片描述
以上全部是通过干货 | Docker容器:如何根据监听端口号查找到对应容器?这篇文章尝试

  • 正确的解决方案

直接使用

docker ps --format '{{.ID}}\t{{.Names}}\t{{.Ports}}' | grep <监听端口号>

在这里插入图片描述
(当然这条命令的使用前提是,你在创建容器的时候有明确的的端口映射信息)

### 创建和使用Docker容器模板 #### 准备工作 在创建Docker容器之前,确保已经正确安装并配置好Docker环境。如果需要卸载旧版本的Docker组件,可以执行如下命令[^3]: ```shell sudo apt-get remove docker docker-engine docker.io containerd runc ``` #### 获取镜像 要创建一个基于特定模板(即镜像)的容器,首先需获取所需的基础镜像。可以通过`docker search`命令搜索官方仓库中的镜像资源,并通过`docker pull`下载指定镜像到本地。 例如,在Ubuntu环境下想要查找名为`nginx`的服务镜像,则可以在终端输入: ```shell docker search nginx ``` 之后根据需求拉取合适的标签版本: ```shell docker pull nginx:latest ``` #### 构建自定义镜像文件(Dockerfile) 对于更复杂的场景,可能希望构建自己的镜像作为模板。这涉及到编写一个叫做`Dockerfile`的文本文件,其中描述了如何一步步组装最终的应用程序环境。下面是一个简单的例子: ```Dockerfile FROM ubuntu:20.04 LABEL maintainer="admin@example.com" RUN apt-get update && \ apt-get install -y nginx && \ rm -rf /var/lib/apt/lists/* COPY ./html /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` 此脚本指定了以`ubuntu:20.04`为基础层,更新软件包列表后安装Nginx服务端,复制项目静态页面至相应目录,暴露HTTP监听端口以及设置默认启动指令。 完成编辑后保存为`Dockerfile`, 然后在同一目录下运行打包命令生成新的镜像: ```shell docker build -t my_nginx_image . ``` #### 启动容器实例 有了准备好的镜像之后就可以轻松地部署多个一致性的容器副本了。假设刚刚制作好了上面提到过的Web服务器映像,那么只需一条简单语句就能让其跑起来: ```shell docker run -d --name=my_web_server -p 8080:80 my_nginx_image ``` 这里参数解释: - `-d`: 表示以后台模式运行; - `--name`: 给新产生的进程赋予名称方便管理; - `-p`: 将主机上的某端口号转发给内部虚拟机对应位置; 这样就成功依据预设模版建立起了一个新的网络服务节点! #### 查看与维护现有容器 当有大量正在运作着的不同种类容器时,掌握它们的状态变得尤为重要。常用的一些辅助工具包括但不限于: - 列举当前活跃单元:`docker ps` - 显示所有记录(含历史):`docker ps -a` - 停止选定目标:`docker stop <CONTAINER_ID>` - 移除不再使用的实体:`docker rm <CONTAINER_ID>` 另外值得注意的是,若打算永久移除某个镜像前务必先清理掉关联的所有实例对象,以免造成不必要的错误提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值