docker安装oracle库的坑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker安装oracle库的坑相关的知识,希望对你有一定的参考价值。

参考技术A docker运行oracle镜像报错,详情如下:

docker run -d -p 19000:8080 -p 1521:1521  --name oracle12c --restart=always sath89/oracle-12c

1299367555e9ee4fe8db7afe2e42852605652b30598af1302e20dfef75a4193c

docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:1521: bind: An attempt was made to access a socket in a way forbidden by its access permissions

从报错来看是因为端口被占用,于是乎查看端口占用情况

netstat -ano

没有发现端口占用

使用 Get-NetTCPConnection |findstr在powershell中也没发现此端口没占用

然后一通百度,原因是windows默认排除了这些端口范围,查看禁用端口的命令如下:

netsh interface ipv4 show excludedportrange protocol=tcp

所以快捷解决方式就是不使用以上范围内的端口。

根本的解决方法如下。原因是Docker for Windows and Hyper-V are responsible for all of those excluded port ranges above.

注:以下方法未亲测,百度到的添加端口的方法

1、先禁用hyper-v(生效需要重启)

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

2、然后添加要使用的端口

netsh int ipv4 add excludedportrange protocol=tcp startport=50051 numberofports=1

3、重新启用hyper-v

dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

以上是关于docker安装oracle库的坑的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 7UNIXLinux基于docker安装Oracle 11g express数据库

解决安装Oracle 11g 遇到的坑

Oracle的坑,你是否踩过?----安装篇

记:第一次安装python的cx_Oracle遇到的坑,以免忘记

REHL8 oracle 19C RAC安装中的坑

记录在Windows上安装和使用Oracle数据库过程中的坑