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

简介: 通过正确配置 Docker 的端口和文件路径映射,可以有效地管理容器化应用程序,确保其高效运行和数据持久性。在生产环境中,动态替换映射配置有助于灵活应对各种需求变化。以上方法和步骤提供了一种可靠且易于操作的方案,帮助您轻松管理 Docker 容器的端口和路径映射。

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 新宿主机端口:新容器端口 ... 使用新配置重新启动容器

思维导图

Docker 配置思维导图
└── Docker 配置
    ├── 端口映射
    │   ├── 使用 -p 选项
    │   └── 示例:8080:80
    ├── 文件路径映射
    │   ├── 使用 -v 选项
    │   └── 示例:/home/user/data:/data
    ├── 动态替换映射配置
    │   ├── 停止并删除容器
    │   └── 重新启动容器
    └── 示例
        ├── 重新映射端口
        └── 重新映射目录
​

总结

通过正确配置 Docker 的端口和文件路径映射,可以有效地管理容器化应用程序,确保其高效运行和数据持久性。在生产环境中,动态替换映射配置有助于灵活应对各种需求变化。以上方法和步骤提供了一种可靠且易于操作的方案,帮助您轻松管理 Docker 容器的端口和路径映射。

目录
相关文章
|
29天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
209 77
|
10天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
16天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
86 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
21天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
48 3
实战~如何组织一个多容器项目docker-compose
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
2月前
|
运维 Kubernetes Docker
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
69 12
|
1月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
113 7
|
2月前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
1月前
|
存储 Prometheus 监控
Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行
本文深入探讨了在Docker容器内进行应用调试与故障排除的方法与技巧,包括使用日志、进入容器检查、利用监控工具及检查配置等,旨在帮助用户有效应对应用部署中的挑战,确保应用稳定运行。
48 5
|
1月前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
67 4