Docker绑定端口报错

报错信息:

(HTTP code 500) server error - Ports are not available: exposing port TCP 0.0.0.0:11521 -> 127.0.0.1:0: listen tcp 0.0.0.0:11521: bind: An attempt was made to access a socket in a way forbidden by its access permissions.

CMD或者PowerShell中输入下面的命令,查看windows的保留端口。

bash 复制代码
netsh interface ipv4 show excludedportrange protocol=tcp

试着删除这些排除端口时,发现并没有用,因为这些"拒绝访问"提示说明那些排除区间是由系统(Hyper-V/WSL2/Docker NAT 或 ICS 服务)管理的,netsh 本身无法直接删除它们。要真正清空这些保留端口,你需要先移除创建它们的网络服务,再让 Windows 自动释放对应范围。

解决方案

我这里原来的容器使用的卷oracle11g_xin,这里以使用oracle11g_xin为例作为延时。

1、停止旧容器

bash 复制代码
docker stop oracle11g_xin

2、重命名旧容器(保留数据卷)

bash 复制代码
docker rename oracle11g_xin oracle11g_xin_old

3、启动新容器,重新设置映射端口,建议设置为40000-50000端口范围内,复用旧容器的卷

bash 复制代码
docker run -d --name oracle11g_xin --volumes-from oracle11g_xin_old -e ORACLE_ALLOW_REMOTE=true -e ORACLE_PASSWORD=Li123456 -p 41521:1521 -p 48080:8080 rohitbasu77/oracle11g:latest

4、验证新容器

bash 复制代码
docker ps

5、清理旧容器(可选)

bash 复制代码
docker rm oracle11g_xin_old

启动成功,原来的数据都在!

相关推荐
szxinmai主板定制专家34 分钟前
电力设备RK3568/RK3576+FPGA,多系统混合部署Linux+RTOS RT-THREAD,强实时性
linux·运维·服务器·人工智能·嵌入式硬件·fpga开发
我是坑货1 小时前
Jenkins 构建失败排查记录:mvn -U 把新版依赖被远程旧版覆盖
运维·jenkins
L、2181 小时前
CANN调优工具链全景:从profiler到tensorboard的完整观测体系
linux·运维·服务器·深度学习
码点滴2 小时前
Workload 自动化进化论:从手动运维到 AI 驱动的 Kubernetes 智能管控
运维·人工智能·kubernetes·自动化·workload
darkdragonking2 小时前
Docker(五)OpenEuler22.03 安装docker ce、排坑
运维·docker·容器
j_xxx404_2 小时前
Linux进程信号捕捉与操作系统运行本质深度解析
linux·运维·服务器·开发语言·c++·人工智能·ai
eggrall2 小时前
Linux信号——保存信号
linux·运维·服务器
2501_920047032 小时前
firewalld的使用
linux·运维
孙高飞2 小时前
直播预告 - 周日晚 7 点半-AI 驱动 UI 自动化
运维·自动化
qq_196976172 小时前
硬核多语言办公方案:基于Gemini境像站的实时翻译与双语文档自动化生成管道(国内免费镜像实测)
运维·自动化