docker修改已创建好容器的端口

1.停止docker
systemctl stop docker

2.进入容器目录
cd /var/lib/docker/containers

3.查看容器id
docker ps -a

4.根据容器ID进行对应的目录,修改 hostconfig.json 文件
vi hostconfig.json


5.启动docker 
systemctl start docker

### 3.1 修改 Docker 容器端口映射的配置方法 Docker 容器端口映射在容器创建时通过 `docker run` 命令的 `-p` 参数指定。一旦容器创建完成,Docker 默认不支持直接修改已运行容器端口映射规则。如果需要更改映射,通常需要通过重新创建容器修改容器配置文件的方式来实现。 一种常见方法是使用 `docker run` 命令重新运行容器,并指定新的端口映射规则。例如,将容器内部的 8080 端口映射到主机的 9090 端口,可以执行如下命令: ```bash docker run -d -p 9090:8080 <image_name> ``` 该方法适用于尚未进行复杂配置的容器,能够快速实现端口映射的调整[^1]。 ### 3.2 修改已存在容器端口映射 对于已经运行的容器,若需修改端口映射,可以通过以下步骤实现: 1. **停止并删除原有容器**:使用 `docker stop` 和 `docker rm` 命令停止并删除当前容器。 2. **使用新端口重新运行容器**:使用 `docker run` 指定新的端口映射参数运行新的容器。例如: ```bash docker run -d -p 80:80 -p 3000:3000 --name nginx a89fs25e901e5 ``` 该方法确保新的端口映射规则被正确应用,并且容器基于相同的镜像重新启动[^2]。 ### 3.3 修改容器配置文件实现端口映射更改 在某些场景下,用户可能希望保留容器的配置和数据,而不是完全重建。此时可以尝试修改容器的配置文件来实现端口映射的更改。Docker 容器的配置信息通常存储在其对应的目录中,例如 `/var/lib/docker/containers/<container_id>` 下的 `hostconfig.json` 文件。 修改过程如下: 1. **定位容器目录**:找到容器的 ID,进入其对应的目录。 2. **编辑 `hostconfig.json` 文件**:在文件中找到 `"PortBindings"` 字段,并修改宿主机端口值。例如将 `"HostPort": "82"` 修改为新的端口号。 3. **重启 Docker 服务**:执行 `systemctl restart docker` 以应用更改。 4. **验证修改**:使用 `docker inspect` 命令检查容器端口映射是否生效。 该方法适用于需要保留容器状态的场景,但需注意操作风险,避免因配置错误导致容器无法启动[^3]。 ### 3.4 Windows 平台修改容器端口映射 在 Windows 系统中,Docker 容器的配置文件存储在 WSL 文件系统中。具体操作步骤如下: 1. **进入 WSL 文件系统**:在运行 `Win + R` 后输入 `\\wsl$`,进入 Docker Desktop 的文件系统。 2. **查找容器 ID**:使用 `docker inspect` 命令获取容器的完整 ID。 3. **修改配置文件**:进入容器对应的目录,编辑 `hostconfig.json` 文件,更新端口映射信息。 4. **重启 Docker 服务**:通过命令行执行 `systemctl restart docker` 以使配置生效。 此方法适用于 Windows 平台下对已存在容器端口映射进行调整,但操作过程较为复杂且依赖 WSL 环境的正常运行[^4]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值