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

相关推荐
Java陈序员2 天前
轻量强大!一款现代化的 Kubernetes 集群管理与监控工具!
云原生·容器·kubernetes
Sheffield4 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
Sheffield4 天前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
马艳泽4 天前
win10下运行Start Broker and Proxy报错解决
docker
用户13573999256605 天前
Windows 从 0 搭建 WSL2 原生 AI 开发环境:Codex + Docker + VSCode
docker
vi_h5 天前
在 macOS 上通过 Docker 安装并运行 Ollama(详细可执行教程)
macos·docker·ollama
黑心老魔5 天前
通过 Docker 创建开发环境
docker·开发环境
冬奇Lab6 天前
一天一个开源项目(第41篇):Workout.cool - 现代化开源健身教练平台,训练计划与进度追踪
docker·开源·资讯
天朝八阿哥6 天前
使用Docker+vscode搭建离线的go开发调试环境
后端·docker·visual studio code
阿虎儿7 天前
Docker安装(非sudo用户可用)
docker