怎样在Docker容器中快速部署Oracle23c开发版?

冬丽小哥_9272

冬丽小哥_9272

2026-10-19

302人浏览

原创

必须用阿里云镜像源拉取registry.cn-shanghai.aliyuncs.com/darkathena/oracle_23c_free:23.2.0.0并核对版本号;启动后需盯日志直至出现“database is ready to use!”,且pdb名固定为freepdb1、密码须通过-e oracle_pwd指定或查容器内.password文件。

怎样在docker容器中快速部署oracle23c开发版?

docker pull 失败:container-registry.oracle.com 连不上

国内直连 Oracle 官方镜像仓库基本必超时,这不是你网络配置问题,是常态。别反复重试 docker pull container-registry.oracle.com/database/free:latest。

换阿里云镜像源,用这个命令:

docker pull registry.cn-shanghai.aliyuncs.com/darkathena/oracle_23c_free:23.2.0.0

拉完后必须核对镜像 ID:

  • 运行 docker images | grep oracle
  • 确认输出里有 23.2.0.0(不是 latest)
  • latest 标签不稳定,有时指向非 GA 分支,明确版本号才可靠

容器启动了但 1521 连不上

容器状态显示 Up 2 minutes ≠ 数据库就绪。Oracle 实例初始化要时间,低配机器上可能达 5–8 分钟。

盯日志才是关键:

Crawl4ai Docker Skill
Crawl4ai Docker Skill

Docker化网页爬虫服务,支持REST API,可进行网页爬取与抓取,智能内容提取(基于 L...)

下载
  • 执行 docker logs -f oracle23c
  • 只等出现 DATABASE IS READY TO USE! 这行输出
  • 在此之前所有连接尝试都会失败(ORA-12514、连接超时等)

另外检查端口映射是否写反:

  • -p 1521:1521 表示宿主机 1521 → 容器内 1521
  • 如果写了 -p 1528:1521,客户端就得连 localhost:1528,不是 :1521
  • Linux 上查防火墙:sudo firewall-cmd --list-ports;macOS 检查系统设置里的防火墙是否放行 Docker

sqlplus / as sysdba 报 ORA-01017

Oracle 23c Free 镜像默认禁用操作系统认证,/ as sysdba 路径走不通——这不是密码错,是功能被关了。

正确做法:

  • 启动时用 -e ORACLE_PWD=your_password 显式指定密码
  • 如果没指定,密码是随机生成的,进容器查:docker exec -it oracle23c cat /opt/oracle/product/23c/dbhomeFree/install/.password
  • PDB 名固定为 FREEPDB1,不是 ORCLPDB1 或 ORCL;连错 PDB 会直接报 ORA-12514
  • system 用户密码和 sys 一样,但权限收紧,首次登录建议用 sys

磁盘空间和首次启动耗时被低估

镜像本身约 2.1GB,解压+初始化后实际占用近 9GB 空间。别在只剩 5GB 的根分区硬跑。

真正卡住人的永远不是命令敲错,而是误判“ready”时机:

  • 容器进程起来了 ≠ Listener 启动了 ≠ 实例 mount 了 ≠ PDB open 了
  • 盯日志、记死 FREEPDB1、核对密码来源——三件事漏一个,后面全白搭
  • 尤其在 CI/CD 或脚本自动化场景,必须加日志轮询逻辑,不能靠 sleep 固定时长

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

oracle docker docker容器

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

725

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5579

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

6617

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2553

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

279

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

451

14

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

420

26

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

305

24

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

465

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程