Docker容器端口映射动态修改实战指南

AI助手已提取文章相关产品:

1. 为什么需要修改运行中容器的端口映射?

在实际的Docker容器运维过程中,我们经常会遇到需要调整容器端口映射的场景。想象一下这样的情境:你正在运行一个Nginx容器,最初配置了80:80的端口映射,但突然发现这个端口已经被宿主机上的其他服务占用。或者更常见的,在开发测试环境中,我们需要临时将容器的服务端口暴露给外部访问,但又不想重启容器导致服务中断。

Docker默认不支持直接修改运行中容器的端口映射配置,这是出于容器稳定性和安全性的考虑。但通过一些技巧,我们确实可以实现这个需求。下面我将分享两种经过实战验证的方案,它们各有适用场景和优缺点。

重要提示:修改运行中容器的端口映射属于非标准操作,在生产环境中应谨慎使用。建议优先考虑通过创建新容器并迁移数据的方式实现端口变更。

2. 方案一:通过修改HostConfig.json实现动态端口变更

2.1 原理剖析与准备工作

Docker在运行容器时,会将容器的配置信息存储在/var/lib/docker/containers/[container_id]/hostconfig.json文件中。这个JSON文件包含了容器的各种运行时参数,其中就包括端口映射配置。

操作前需要确认:

  1. 获取目标容器的完整ID: docker inspect --format='{ {.Id}}' 容器名
  2. 停止Docker服务: sudo systemctl stop docker (修改过程中必须停止服务)
  3. 备份原始配置文件: cp hostconfig.json hostconfig.json.bak

2.2 详细操作步骤

假设我们要将容器原来的8080:80映射改为新的8090:80:

# 1.

您可能感兴趣的与本文相关内容

「LLM那些事」系列第 4 篇《上下文窗口的边界》,文章连接:https://blog.csdn.net/houwenjin/article/details/163999753。 演示什么:在「预测」Sheet 的黄色格子里输入一句话(默认「来泡一杯」),四个「模型」——分别只统计最后 1 / 2 / 3 / 4 个字的 n-gram 查表——同时预测下一个字。同一个输入,看的上下文越长,候选越少、预测越确定: ┌────────────────┬──────────┬───────────────┬──────┐ │ 只看最后几个字 │ 用的前缀 │ 候选下一字数 │ 预测 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 1 个 │ 杯 │ 3(茶/子/水) │ 模糊 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 2 个 │ 一杯 │ 2(茶/水) │ 收窄 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 3 个 │ 泡一杯 │ 1(茶) │ 确定 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 4 个 │ 来泡一杯 │ 1(茶) │ 确定 │ └────────────────┴──────────┴───────────────┴──────┘
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值