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

相关推荐
二十雨辰几秒前
[linux]docker基础
linux·运维·docker
time never ceases33 分钟前
使用docker方式进行Oracle数据库的物理迁移(helowin/oracle_11g)
数据库·docker·oracle
YCyjs1 小时前
K8S群集调度二
云原生·容器·kubernetes
Hoxy.R1 小时前
K8s小白入门
云原生·容器·kubernetes
MonkeyKing_sunyuhua3 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林3 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€4 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘4 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
全能全知者5 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器
成富6 小时前
文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现
数据库·人工智能·sql·spring·oracle