当前位置: 首页 > article >正文

Docker 替换宿主与容器的映射端口和文件路径

在使用 Docker 容器化应用程序时,经常需要将宿主机的端口和文件路径映射到容器中,以便在本地访问容器中的服务和数据。本文将详细介绍如何替换和配置 Docker 容器的端口和文件路径映射。

1. 端口映射

端口映射用于将宿主机的端口转发到容器中的端口,这样可以在宿主机上通过指定的端口访问容器中的服务。

配置端口映射

启动容器时,可以使用 -p 或 --publish 选项来映射端口:

docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像名称
​

示例

假设我们有一个运行在容器中的 Web 服务,监听端口 80。如果我们希望通过宿主机的端口 8080 访问该服务,可以使用以下命令:

docker run -d -p 8080:80 --name my_web_server nginx
​

在这个示例中,宿主机的端口 8080 映射到容器的端口 80,通过访问 http://localhost:8080 就可以访问容器中的 Nginx 服务。

2. 文件路径映射

文件路径映射用于将宿主机的目录挂载到容器中,使得容器可以访问和修改宿主机的文件系统中的数据。

配置文件路径映射

启动容器时,可以使用 -v 或 --volume 选项来挂载目录:

docker run -d -v 宿主机目录:容器目录 --name 容器名称 镜像名称
​

示例

假设我们希望将宿主机的 /home/user/data 目录挂载到容器中的 /data 目录,可以使用以下命令:

docker run -d -v /home/user/data:/data --name my_data_container busybox
​

在这个示例中,宿主机的 /home/user/data 目录映射到容器的 /data 目录,通过访问容器中的 /data 目录,就可以访问和操作宿主机的 /home/user/data 目录中的文件。

3. 动态替换映射配置

有时候需要动态替换已经运行的容器的端口和路径映射。以下是几种方法:

停止并删除现有容器

首先,停止并删除现有容器:

docker stop 容器名称
docker rm 容器名称
​

重新启动容器

使用新的端口和路径映射重新启动容器:

docker run -d -p 新宿主机端口:新容器端口 -v 新宿主机目录:新容器目录 --name 新容器名称 镜像名称
​

示例

假设我们要将前面的 Web 服务从宿主机端口 8080 改为 9090,并将数据目录从 /home/user/data 改为 /home/user/new_data

docker stop my_web_server
docker rm my_web_server
docker run -d -p 9090:80 -v /home/user/new_data:/data --name my_new_web_server nginx
​

分析说明表

操作命令说明
启动容器并映射端口docker run -d -p 宿主机端口:容器端口 镜像名称将宿主机端口映射到容器端口
启动容器并映射目录docker run -d -v 宿主机目录:容器目录 镜像名称将宿主机目录挂载到容器目录
停止容器docker stop 容器名称停止运行中的容器
删除容器docker rm 容器名称删除已经停止的容器
动态替换端口和目录映射docker run -d -p 新宿主机端口:新容器端口 ...使用新配置重新启动容器
http://www.lryc.cn/news/2392843.html

相关文章:

  • 我的3种AI写作节奏搭配模型,适合不同类型写作者
  • Bonjour
  • 华为云Flexus+DeepSeek征文 | 基于Dify和DeepSeek-R1开发企业级AI Agent全流程指南
  • HarmonyOS-ArkUI固定样式弹窗(1)
  • 痉挛性斜颈相关内容说明
  • C语言| 函数参数传递指针
  • 【25-cv-05917】HSP律所代理Le Petit Prince 小王子商标维权案
  • MyBatis 动态 SQL 详解:灵活构建强大查询
  • 从 “金屋藏娇” 到 自然语言处理(NLP)
  • vue3 ElMessage提示语换行渲染
  • Java 微服务架构设计:服务拆分与服务发现的策略
  • 华为OD机试真题——二叉树中序遍历(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
  • 解决 Go 中 `loadinternal: cannot find runtime/cgo` 错误
  • VSCode + GD32F407 构建烧录
  • Linux研学-入门命令
  • Hive在实际应用中,如何选择合适的JOIN优化策略?
  • 设计模式之结构型:桥接模式
  • 监控 Oracle Cloud 负载均衡器:使用 Applications Manager 释放最佳性能
  • 早发现=早安心!超导心磁图如何捕捉早期病变信号?
  • 使用Vditor将Markdown文档渲染成网页(Vite+JS+Vditor)
  • Python打卡DAY40
  • OPC Client第6讲(wxwidgets):Logger.h日志记录文件(单例模式);登录后的主界面
  • CesiumInstancedMesh 实例
  • 单细胞注释前沿:CASSIA——无参考、可解释、自动化细胞注释的大语言模型
  • 历年武汉大学计算机保研上机真题
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(30):みます
  • AR-HUD 光波导方案优化难题待解?OAS 光学软件来破局
  • 火狐安装自动录制表单教程——仙盟自动化运营大衍灵机——仙盟创梦IDE
  • 线程池的详细知识(含有工厂模式)
  • 木愚科技闪亮第63届高博会 全栈式智能教育解决方案助力教学升级