docker desktop实战部署oracle篇

ops/2024/11/14 19:25:16/

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-2defaultbaidujs_utm_term~default-0-132062633-blog-134356194.235v43pc_blog_bottom_relevance_base2&spm=1001.2101.3001.4242.1&utm_relevant_index=3


http://www.ppmy.cn/ops/33991.html

相关文章

LeetCode //C - 65. Valid Number

65. Valid Number Given a string s, return whether s is a valid number. For example, all the following are valid numbers: “2”, “0089”, “-0.1”, “3.14”, “4.”, “-.9”, “2e10”, “-90E3”, “3e7”, “6e-1”, “53.5e93”, “-123.456e789”, while th…

解决Git提交失败的问题:配置user.name和user.email

文章目录 一、场景描述二、原因分析三、解决办法1、全局配置2、单个项目配置3、验证配置 四、总结 在软件开发过程中,使用Git进行版本控制是必不可少的。然而,有时候在用Visual Studio Code提交代码时可能会遇到提交失败的情况,其中一个常见的…

第 10 场蓝桥杯小白入门赛题解

1.五一礼物【算法赛】 - 蓝桥云课 (lanqiao.cn) #include <iostream> using namespace std; int main() {cout<<"51"<<endl;return 0; }2.合成贤者之石【算法赛】 - 蓝桥云课 (lanqiao.cn) 假设黄水晶的个数是 x x x,那蓝水晶个数肯定是 x − 1 …

【hive】transform脚本

文档地址&#xff1a;https://cwiki.apache.org/confluence/display/Hive/LanguageManualTransform 一、介绍二、实现1.脚本上传到本地2.脚本上传到hdfs 三、几个需要注意的点1.脚本名不要写全路径2.using后面语句中&#xff0c;带不带"python"的问题3.py脚本Shebang…

关于YOLO8学习(一)环境搭建,官方检测模型部署到手机

一,环境的搭建 环境 win10 python 3.11 cmake pytorch pycharm 过程 首先安装好一个pycharm,这里就不一一叙述了。 其次,选择好一个python版本,是关键所在。有些YOLO的版本,并不支持很高的python版本,博主选用的是python3.11版本。经过实际的测试,这个版本比较合适。…

libhv http client vs cpr

libhv http client 和 cpr 的性能对比 libhv test code static void test_http_async(HttpClient* cli, int seq, int* resp_cnt) {auto req std::make_shared<HttpRequest>();req->method HTTP_GET;req->url "www.baidu.com";req->timeout 1…

libmodbus使用

安装可以看这个博客&#xff1a; https://blog.csdn.net/hanhui22/article/details/105786762 它的安装可以&#xff0c;但是编译测试看不太懂&#xff0c;我没跟着它的编译&#xff0c;完了后把/lib下的 放到开发板的/usr/lib下 编写代码: #include <stdio.h> #inclu…

【论文阅读】Sparse is Enough in Scaling Transformers

Sparse is Enough in Scaling Transformers 论文地址摘要1 介绍2 相关工作模型压缩。模型修剪模型蒸馏。稀疏注意力。张量分解。稀疏前馈。 3 Sparse is Enough3.1 稀疏前馈层3.2 稀疏 QKV 层3.3 稀疏损失层。 4 长序列的稀疏性4.1 长序列架构4.2 内存效率的可逆性4.3 泛化的循…