首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

docker 查看容器端口

Docker 是一种开源的容器化平台,它允许开发者将应用程序及其依赖项打包到一个独立的、可移植的容器中,以便在任何环境中运行。查看 Docker 容器的端口映射是管理和调试容器时的一个常见任务。

基础概念

端口映射:在 Docker 中,端口映射允许外部访问容器内部的服务。通过将主机的端口映射到容器的端口,外部流量可以通过主机的 IP 地址和指定的端口访问容器内的服务。

查看容器端口的方法

使用 docker ps 命令

docker ps 命令可以列出所有正在运行的容器及其相关信息,包括端口映射。

代码语言:txt
复制
docker ps

输出示例:

代码语言:txt
复制
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS          PORTS                    NAMES
abc123def456   nginx:latest   "/docker-entrypoint.…"   2 minutes ago   Up 2 minutes   0.0.0.0:80->80/tcp       my-nginx-container

在这个例子中,0.0.0.0:80->80/tcp 表示主机的 80 端口映射到了容器的 80 端口。

使用 docker port 命令

如果你只想查看特定容器的端口映射,可以使用 docker port 命令。

代码语言:txt
复制
docker port <container_id_or_name>

例如:

代码语言:txt
复制
docker port abc123def456

输出示例:

代码语言:txt
复制
80/tcp -> 0.0.0.0:80

这表示容器的 80 端口映射到了主机的 80 端口。

应用场景

  1. 调试和测试:在开发和测试阶段,了解容器如何暴露服务端口对于确保应用程序能够正确访问至关重要。
  2. 网络配置:在生产环境中,正确配置端口映射是确保服务可访问性和安全性的关键步骤。
  3. 监控和维护:定期检查端口映射有助于监控容器的运行状态和服务的可用性。

可能遇到的问题及解决方法

问题:端口映射不正确

原因

  • 在启动容器时指定的端口映射参数错误。
  • 容器内部的服务未正确绑定到预期的端口。

解决方法

  1. 检查启动容器时的命令,确保 -p--publish 参数正确。
  2. 检查启动容器时的命令,确保 -p--publish 参数正确。
  3. 进入容器内部,验证服务是否在正确的端口上运行。
  4. 进入容器内部,验证服务是否在正确的端口上运行。

问题:无法通过主机端口访问容器服务

原因

  • 防火墙或安全组规则阻止了访问。
  • 主机上的其他服务占用了相同的端口。

解决方法

  1. 检查并配置防火墙规则,允许外部流量访问指定端口。
  2. 使用 netstatlsof 命令检查主机端口占用情况。
  3. 使用 netstatlsof 命令检查主机端口占用情况。

通过这些方法,你可以有效地管理和调试 Docker 容器的端口映射,确保应用程序的正常运行和服务的可访问性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

docker如何查看宿主机到容器端口映射

docker/Docker如何查看宿主机到容器端口映射关系 背景 前些天的时候, 在定位问题时发现docker emqx 连接websocket (8083)端口出现异常....主要是因为对docker端口映射方面的知识点有所遗忘 为了能帮助你快速理解, 请思考下面的问题: 通过docker ps 查看某容器运行情况如下图, 你觉得该容器的 8083端口可以通过外网访问吗...如果你能够确定不可以, 那你考虑可以跳过本篇文章 ---- 如何查看宿主机到端口映射?...指定端口的映射时宿主机端口到运行容器端口的映射 因此我们在运行docker ps中, 查看的结果就是按照宿主机端口->运行容器端口显示的 图片 从上图可以看出, 宿主机的 3307端口绑定到了docker...图片 我们可以通过使用 docker inspect 容器id, 查看容器的属性.

15.1K40
  • 查看Docker容器的信息

    对于运行在Docker环境的容器,有时我们想查询它们的一些基本信息,例如环境变量、hostname、ip地址等,接下来我们以一个tomcat容器为例,看看有哪些方式来取得这些信息; 原文地址:https...的tomcat容器: docker run --name tomcat001 -idt tomcat 执行docker ps检查一下,容器创建成功: root@maven:~# docker ps CONTAINER...; 执行docker exec命令; 执行docker inspect -f命令(推荐方式); 第一种:进入容器内部获取信息 执行以下命令可进入容器内部: docker exec -it tomcat001...exec命令 不用进入容器,直接在docker环境执行docker exec 容器名 容器内命令的方式也可以获取相关信息,举例如下: 获取容器的hostname:docker exec tomcat001...hostname 获取容器ip地址:docker exec tomcat001 ip addr 获取容器环境变量:docker exec tomcat001 env 执行结果如下所示: root@maven

    3.3K40

    Docker修改容器的端口,容器名,映射地址

    原文:https://blog.csdn.net/liu_chen_yang/article/details/124511738 1、Docker修改容器名 2、docker 修改修改端口、映射地址…...3.0、启动 docker 容器 1、Docker修改容器名 #先查看原来的容器名 docker ps -a #查看所有的容器 #找到你要修改的容器名 docker rename 原容器名 要修改的容器名...2、docker 修改修改端口、映射地址… 下面是运行中的 docker 环境,因为实际环境,我们需要修改 docker 映射端口,现在是 8088 端口,我们要修改他改成 8099 端口。...2.9、查看端口是否修改 这里看到端口已经被修改,我们就可以启动容器了 3.0、启动 docker 容器 docker start abc(容器名) 注意!!!...docker 修改完映射端口后,docker 的 ip 可能会发生变化。

    1.5K20

    查看 Docker 容器的名字空间

    熟悉 Linux 技术的人都知道,容器只是利用名字空间进行隔离的进程而已,Docker 在容器实现上也是利用了 Linux 自身的技术。...有时候,我们需要在宿主机上对容器内进行一些操作,当然,这种绕过 Docker 的操作方式并不推荐。...$ip netns del test 接下来运行一个 Docker 容器,例如 $ docker run -it Ubuntu 再次执行 ip netns show命令。很遗憾,这里什么输出都没有。...原因在于,Docker 启动容器后仍然会以进程号创建新的名字空间,但在较新的版本里面,默认删除了系统中的名字空间信息文件。...在容器启动后,查看这个目录,会发现什么都没有。 OK,那让我们手动重建它。 首先,使用下面的命令查看容器进程信息,比如这里的1234。 $ docker inspect --format='{{.

    2.2K11

    Docker 查看容器的启动命令

    1、背景 由于docker可能不是你本人部署的,可能会遇到服务需要迁移,但是又不知道之前部署的命令。 runlike 是一个用于查看 Docker 容器的启动命令的工具。...它可以让您以一种更直观的方式查看容器的启动命令,包括容器的名称、镜像、挂载的卷以及其他参数。 Runlike是一个用Python编写的工具,为了使用Runlike,您需要先安装pip包管理器。...2、安装runlike yum install -y python38 pip3 install runlike 3、使用:查看容器启动命令 runlike -p 其中, 是您要查看的容器的 ID 或名称。...运行该命令后,将显示容器的启动命令及其参数。 4、实战案例 通过 Runlike 查看之前部署的 62500108d7bd 容器启动命令

    2.7K20

    docker容器添加对外映射端口

    首次启动容器指定映射端口 在容器首次启动是,可通过-p参数(-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如: docker run -it -d --name [container-name...参数说明 -d 表示后台运行容器 -t 为docker分配一个伪终端并绑定到容器的标准输入上 -i 是让容器的标准输入保持打开状态 -p 指定映射端口 新增映射端口 当容器已经运行之后,且容器中已经有配置改动...查看容器信息: docker ps -a 查看容器的端口映射情况,在容器外执行: docker port d5104ec757b6 # 或 docker port nginx 查找要修改容器的容器Id:...停掉容器: docker stop d5104ec757b6 停掉docker服务: systemctl stop docker 修改hostconfig.json,添加端口绑定"443/tcp": [...保持配置文件,重启docker服务和容器: systemctl start docker docker start d5104ec757b6 此时,再用前面提到的docker port命令即可看到新增的端口已经绑定成功

    2.5K30

    Docker端口映射与容器互联

    端口映射 Docker除了通过网络访问外,还提供了其他两个非常方便的功能来满足服务访问的基本需求,一是允许映射容器内应用的服务端口到本地宿主机端口;二是使用互联机制来实现多个容器间通过容器名来快速访问。...app.py 查看映射端口配置 开发者可以使用docker port [container]命令来查看当前映射的端口配置,也可以查看到绑定的地址,如下所示: [root@envythink ~]#...docker port eyou 5000/tcp -> 127.0.0.1:32768 或者查看容器的5000端口映射信息: [root@envythink ~]# docker port eyou...5000 127.0.0.1:32768 如果想查看容器的完整详细信息,可以使用docker inspect [container]命令。...第四步,使用docker ps来查看容器的连接信息: [root@envythink ~]# docker ps CONTAINER ID IMAGE COMMAND

    6.5K10

    查看 docker 容器使用的资源

    在容器的使用过程中,如果能及时的掌握容器使用的系统资源,无论对开发还是运维工作都是非常有益的。幸运的是 docker 自己就提供了这样的命令:docker stats。...默认输出 docker stats 命令用来显示容器使用的系统资源。不带任何选项执行 docker stats 命令: $ docker stats ?...只输出指定的容器 如果我们只想查看个别容器的资源使用情况,可以为 docker stats 命令显式的指定目标容器的名称或者是 ID: $ docker stats --no-stream registry...基于此,我们可以通过简单的方式使用容器的名称替代默认输出中的容器 ID: $ docker stats $(docker ps --format={{.Names}}) ?...除了 docker 自带的命令,像 glances 等工具也已经支持查看容器使用的资源情况了,有兴趣的朋友可以去了解一下。

    2.3K10

    Docker(33)- 如何修改 docker 容器的端口映射

    tomcat:7 创建容器时,指定了端口映射(-p) 如果容器运行之后发现端口需要改怎么办?...当前是访问 9999 端口 删除原有容器,重新创建新的容器 删除容器 docker rm -f 容器ID/名字 重新创建容器 docker run -d -p 8888:8080 -i --name tomcat7...tomcat:7 重新指定需要映射的端口 优点 简单粗暴,在测试环境用的更多 缺点 如果是数据库、服务器相关的容器,创建新的容器,又得重新配置相关东西了 修改容器配置文件(重点) 暂停 Docker...进入某个容器的配置文件目录下 容器ID 就是文件夹名称,可通过 docker ps -aq 来查看,不过这是缩写,对照起来看就行 cd c614b6db4aed0c8d0c742baa09ff4e2c24761703586460b68633d7b66e62c633...里的端口,但实操了一遍并不需要 config.v2.json 优点 直接操作配置文件没有副作用,算简单 缺点 需要暂停 Docker 服务,会影响其他正常运行的 Docker 容器 使用 docker

    1.6K10

    K8s端口映射_docker查看端口映射

    MySQL容器暴露了3306端口,集群内其他容器通过33306端口访问MySQL服务,但是外部流量不能访问MySQL服务,因为MySQL服务没有配置NodePort。...targetPort是Pod上的端口,从port和nodePort上来的流量,经过Kube-Proxy流入到后端Pod的targetPort上,最后进入容器。...制作容器时暴露的端口一致(使用DockerFile中的EXPOSE),例如官方的Nginx(参考DockerFile)暴露80端口。...hostPort是直接将容器的端口与所调度的节点上的端口路由,这样用户就可以通过宿主机的IP加上端口来访问Pod了,例如: apiVersion: v1 kind: Pod metadata: name...使用了hostPort的容器只能调度到端口不冲突的Node上,除非有必要(比如运行一些系统级的daemon服务),不建议使用端口映射功能。

    8K40

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券