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 容器的端口和路径映射。

目录
相关文章
|
2天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
37 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
13天前
|
搜索推荐 安全 数据安全/隐私保护
7 个最能提高生产力的 Docker 容器
7 个最能提高生产力的 Docker 容器
86 35
|
12天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
18天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
95 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
2天前
|
Kubernetes Linux 虚拟化
入门级容器技术解析:Docker和K8s的区别与关系
本文介绍了容器技术的发展历程及其重要组成部分Docker和Kubernetes。从传统物理机到虚拟机,再到容器化,每一步都旨在更高效地利用服务器资源并简化应用部署。容器技术通过隔离环境、减少依赖冲突和提高可移植性,解决了传统部署方式中的诸多问题。Docker作为容器化平台,专注于创建和管理容器;而Kubernetes则是一个强大的容器编排系统,用于自动化部署、扩展和管理容器化应用。两者相辅相成,共同推动了现代云原生应用的快速发展。
28 10
|
1天前
|
运维 Java 虚拟化
《docker基础篇:1.Docker简介》,包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
《docker基础篇:1.Docker简介》,包括Docker是什么、容器与虚拟机比较、能干嘛、去哪下
35 12
|
18天前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
44 4
|
Docker 容器
Docker查看映射卷报错
问题描述: 当查看Docker容器的映射卷时出现报错信息,如下: [root@kazihuo ~]# docker inspect -f {{.Volumes}} volume   #volume指容器名称 Template parsing error: template: :1:2:...
1010 0
|
1月前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
229 77
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序