Docker给容器添加新端口映射的两种方法及常用命令举例详解

 更新时间:2025年03月19日 11:24:14   作者:乔丹搞IT  
Docker是一个开源的应用容器引擎,允许开发者打包和发布应用到任何流行的Linux机器上,并实现虚拟化,这篇文章主要介绍了Docker给容器添加新端口映射的两种方法及常用命令的相关资料,需要的朋友可以参考下

代码示例:

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

在 Docker 中,端口映射是将容器内部的端口映射到宿主机的端口上,使得外部可以通过宿主机的端口访问容器内部的服务。以下是为 Docker 容器添加新端口映射的两种方法及常用命令的详细例子:

方法一:使用 docker run 命令时指定端口映射

当你启动一个容器时,可以直接在 docker run 命令中使用 -p 或 --publish 参数来指定端口映射。

命令格式:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

选项说明:

  • -p 或 --publish:格式为 <宿主机端口>:<容器端口> 或 <宿主机端口>(此时 Docker 会自动分配容器端口)。
  • -P 或 --publish-all:将容器内部所有暴露的端口都映射到宿主机的高端口上。

例子:

# 将容器的 80 端口映射到宿主机的 8080 端口
docker run -p 8080:80 nginx

# 将容器的 22 端口(SSH)映射到宿主机的 2202 端口
docker run -p 2202:22 ubuntu

# 将容器的所有端口都映射到宿主机的高端口上
docker run -P nginx

方法二:使用 docker network 命令修改网络设置

如果你已经启动了容器,想要添加新的端口映射,可以使用 docker network connect 命令来重新连接网络,并指定新的端口映射。

命令格式:

docker network connect [OPTIONS] NETWORK CONTAINER

选项说明:

  • --publish:格式为 <宿主机端口>:<容器端口>

例子:假设你已经有一个名为 my_container 的容器和一个名为 my_network 的网络,现在想要将容器的 80 端口映射到宿主机的 8081 端口上。

  • 首先,断开容器与网络的连接(可选,但推荐):
docker network disconnect my_network my_container
  • 重新连接网络,并添加新的端口映射:
docker network connect --publish 8081:80 my_network my_container

这样,你就成功地为已存在的容器添加了新的端口映射。

常用命令

  • docker ps:列出当前运行的容器。
  • docker inspect <容器ID或名称>:查看容器的详细信息,包括端口映射。
  • docker port <容器ID或名称>:查看容器的端口映射详情。

请注意,使用 Docker 时,确保你有足够的权限来执行这些命令,或者使用 sudo 来获取必要的权限。此外,确保 Docker 服务正在运行。

总结

到此这篇关于Docker给容器添加新端口映射的两种方法及常用命令举例详解的文章就介绍到这了,更多相关Docker给容器添加新端口映射内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker命令行输出格式化完全指南

    Docker命令行输出格式化完全指南

    在Docker中大多数的输出命令都支持--format 选项,用于控制输出,下面这篇文章主要给大家介绍了关于Docker命令行输出格式化的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • Docker容器日志占用空间过大的解决方式

    Docker容器日志占用空间过大的解决方式

    当我们尝试查看特定 Docker 容器的日志时,通常会使用 docker logs <容器名称> 命令,,然而,有时候会发现控制台持续输出日志信息,持续时间可能相当长,直到最终打印完成,导致日志积累过多,占用了系统磁盘空间,所以本文给大家介绍了解决方法,需要的朋友可以参考下
    2024-03-03
  • Docker Buildx实现挂载缓存卷的3种高阶应用场景

    Docker Buildx实现挂载缓存卷的3种高阶应用场景

    本文主要介绍了缓存卷挂载的3种高阶应用场景,涵盖多阶段构建、跨平台编译与CI/CD流水线中的实战技巧,提升镜像构建效率与资源利用率,显著缩短构建时间,感兴趣的可以了解一下
    2026-05-05
  • 如何解决Docker镜像缺少字体的问题

    如何解决Docker镜像缺少字体的问题

    在使用Spire.Office.Free将Excel转换为HTML时,遇到字体缺失错误,通过在Dockerfile中添加字体文件,成功解决了问题,建议在遇到类似问题时,可以尝试在Dockerfile中添加缺失的字体文件
    2025-02-02
  • Docker中优化Mysql运行内存的操作

    Docker中优化Mysql运行内存的操作

    这篇文章主要介绍了Docker当中优化Mysql运行内存的操作,经过一番操作可以优化为只占用100mb内存,具体优化方法及技巧跟随小编一起看看吧
    2022-01-01
  • docker服务监控中的cAdvisor详解

    docker服务监控中的cAdvisor详解

    cAdvisor(Container Advisor)是谷歌开源的一款容器资源监控工具,它可以收集容器的 CPU、内存、磁盘 I/O、网络等资源使用情况的信息,本文给大家介绍docker服务监控中的cAdvisor,感兴趣的朋友一起看看吧
    2025-05-05
  • docker.service启动失败:Unit not found的原因及解决办法

    docker.service启动失败:Unit not found的原因及解决办法

    这篇文章主要介绍了docker.service启动失败:Unit not found的原因分析及解决办法,需要的朋友可以参考下
    2017-04-04
  • zabbix监控docker容器状态【推荐】

    zabbix监控docker容器状态【推荐】

    这篇文章主要介绍了zabbix监控docker容器状态的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Docker容器绑定外部IP和端口的方法

    Docker容器绑定外部IP和端口的方法

    Docker允许通过外部访问容器或者容器之间互联的方式来提供网络服务。这篇文章主要介绍了Docker容器绑定外部IP和端口的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • Docker官方镜像Tomcat 无法访问解决方案

    Docker官方镜像Tomcat 无法访问解决方案

    当使用docker pull tomcat下载的镜像运行时,遇到无法访问Tomcat服务的问题,原因是存在两个webapps目录,本文就来详细的介绍一下解决方法,感兴趣的可以了解一下
    2025-10-10

最新评论