docker desktop实战部署oracle篇

1、前言

oracle数据库官方已提供现成的镜像,可以直接拿来部署了。

由于项目中需要使用oracle数据库的分表功能,之前安装的是standard版本,无奈只能重新安装。网上查了一番,使用的方法都比较传统老旧:下载安装包手动安装、通过自己制作docker镜像安装;查看oracle官网已提供了现成了镜像,可以直接拿来使用。

docker desktop安装

2、使用官方镜像安装(推荐)

1、下载镜像

oracle官网,如下图执行命令

2、启动

如下官方提供了配置说明

复制代码
--linux
docker run -d -p 1521:1521 -p 5500:5500 -e ORACLE_SID=orcl -e ORACLE_PDB=ORCLPDB1 -e ORACLE_PWD=123456 -e ORACLE_EDITION=enterprise -e ORACLE_CHARACTERSET=AL32UTF8 -v /docker/volumes/oracle21.3.0.0/oradata:/opt/oracle/oradata --privileged=true --name oracle21.3.0.0 container-registry.oracle.com/database/enterprise:21.3.0.0

--window 部署时挂在的目录不同
docker run -d -p 1521:1521 -p 5500:5500 -e ORACLE_SID=orcl -e ORACLE_PDB=ORCLPDB1 -e ORACLE_PWD=123456 -e ORACLE_EDITION=enterprise -e ORACLE_CHARACTERSET=AL32UTF8 -v C:\docker\volumes\oracle21.3.0.0\oradata:/opt/oracle/oradata --privileged=true --name oracle21.3.0.0 container-registry.oracle.com/database/enterprise:21.3.0.0

命令解释:

  • docker run: 这是 Docker 命令的一部分,用于在容器中运行一个镜像。
  • -d: 这个选项告诉 Docker 在后台运行容器,即"detached"模式。
  • -p 1521:1521 -p 5500:5500: 这两个选项指定了端口映射。它们将容器内部的端口 1521 映射到主机的端口 1521,以及将容器内部的端口 5500 映射到主机的端口 5500。Oracle 数据库通常使用 1521 端口进行连接,而 5500 端口用于 Oracle Enterprise Manager Express。
  • e ORACLE_SID=orcl -e ORACLE_PDB=ORCLPDB1 -e ORACLE_PWD=21.3.0.0 -e ORACLE_EDITION=enterprise-e ORACLE_CHARACTERSET=AL32UTF8: 这些选项用于设置容器中 Oracle 数据库的一些环境变量:
    • ORACLE_SID 设置 Oracle 的系统标识符(SID),这里设置为 orcl
    • ORACLE_PDB 设置 Oracle 的 Pluggable Database 名称,这里设置为 ORCLPDB1
    • ORACLE_PWD 设置 Oracle 的管理员密码,这里设置为 root@123456
    • ORACLE_EDITION 设置 Oracle 的版本/版本类型,这里设置为企业版,支持分表操作(Standard)。
    • ORACLE_CHARACTERSET 设置 Oracle 数据库的字符集,这里设置为 AL32UTF8,即 Unicode 字符集。
  • -v /d/DockerImage/oracle19c/oradata:/opt/oracle/oradata: 这个选项用于挂载主机文件系统的目录到容器中。在这个例子中,它将主机上的 /d/DockerImage/oracle19c/oradata 目录挂载到容器中的 /opt/oracle/oradata 目录。这样做是为了将 Oracle 数据库的数据文件存储到主机文件系统中,以便数据持久化,即使容器被删除也不会丢失数据。如果是window则修改自己的window目录 C:\docker\volumes\oracle21.3.0.0\oradata:/opt/oracle/oradata
  • --privileged=true:赋予容器全部的特权,通常用于一些需要较高权限的操作。
  • --name oracle21.3.0.0: 这个选项用于为容器指定一个名称,这里命名为 oracle21.3.0.0
  • container-registry.oracle.com/database/enterprise:21.3.0.0: 这是要运行的 Oracle 21.3.0.0 镜像的名称及其标签

3、下载安装包手动安装(不推荐)

官网下载安装包后,手动安装,比较繁琐,难卸载。

4、手动制作镜像(不推荐,官方提供现成的)

https://github.com/oracle/docker-images

镜像制作可参考这个博主:https://blog.csdn.net/qq_24574189/article/details/132062633?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term\~default-0-132062633-blog-134356194.235^v43^pc_blog_bottom_relevance_base2\&spm=1001.2101.3001.4242.1\&utm_relevant_index=3

相关推荐
“码”力全开3 小时前
打破芯片与协议壁垒:基于 Docker + 边缘计算的 GB28181/RTSP 视频智能管理平台架构设计与源码交付方案
docker·音视频·边缘计算
geshifei4 小时前
K8s 容器运行 UnixBench — 代理机器执行记录
云原生·容器·kubernetes
betazhou5 小时前
电科金仓数据库V9 MySQL兼容版本搭建一主一从体验
数据库·mysql·oracle·主从·高可用·kingbase·v9 mysql兼容版本
Lao A(zhou liang)的菜园6 小时前
Oracle 增量检查点 & FAST_START_MTTR_TARGET 核心总结
数据库·oracle
杨云龙UP6 小时前
ODA/Oracle RAC 节点 Load 100+ 排查:一个 lsof 残留进程引发的负载虚高问题 2026-05-27
linux·数据库·oracle·centos·误操作
Albert Edison6 小时前
【Docker】Ubuntu22.04 安装 Docker 教程
运维·docker·容器
BD_Marathon7 小时前
SQL学习指南——事务
数据库·sql·oracle
AI服务老曹7 小时前
基于Docker的低代码AI视频管理平台架构解析:打通GB28181/RTSP多协议,支持异构边缘计算与全源码交付
人工智能·低代码·docker
codefan※7 小时前
一键部署私人 LLM:Ollama + Docker 极简指南
运维·docker·容器·大模型·llm·本地部署·ollama
李南想做条咸鱼9 小时前
k8s集群容器访问域名第一次不通,第二次必通如何解决
云原生·容器·kubernetes