Docker容器内安装Oracle19c

注意:oracle占用资源较多,建议准备的虚拟机硬盘大于20G,内存大于2G。

一.拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

镜像有点大,拉取完成后可通过docker images确认镜像

二.创建数据卷挂载目录及给目录授权

# 创建文件
mkdir -p /home/data/oracle/oradata

# 授权,不授权会导致后面安装失败
chmod 777 /home/data/oracle/oradata

三.启动镜像

docker run -d  \
-p 1521:1521 -p 5500:5500 \
-e ORACLE_SID=ORCLCDB \
-e ORACLE_PDB=ORCLPDB \
-e ORACLE_PWD=123456 \
-e ORACLE_EDITION=standard \
-e ORACLE_CHARACTERSET=AL32UTF8 \
-v /home/data/oracle/oradata:/opt/oracle/oradata \
--name orcl19c \
--restart always \
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c

 注意: 本创建命令使用了 --restart always 使得oracle会在关闭后自动启动。

如果是已经创建好的容器想要自启动:docker update --restart always orcl19c

参数说明

  • -d:在后台运行容器。
  • -p 1521:1521:将容器的1521端口映射到主机的1521端口(用于Oracle数据库连接)。
  • -p 5500:5500:将容器的5500端口映射到主机的5500端口(用于Oracle Enterprise Manager)。
  • -e ORACLE_SID=ORCLCDB:设置Oracle的SID为ORCLCDB。
  • -e ORACLE_PDB=ORCLPDB:设置Oracle的PDB(可插拔数据库)为ORCLPDB。
  • -e ORACLE_PWD=123456:设置Oracle的密码为123456(请根据需要更改)。
  • -e ORACLE_EDITION=standard:设置Oracle的版本为标准版。
  • -e ORACLE_CHARACTERSET=AL32UTF8:设置Oracle的字符集为AL32UTF8。
  • -v /home/data/oracle/oradata:/opt/oracle/oradata:将主机的/home/data/oracle/oradata目录挂载到容器的/opt/oracle/oradata目录。
  • --name orcl19c:为容器指定一个名称为orcl19c。
  • registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c:使用指定的Docker镜像。

通过命令查看日志

docker logs -ft orcl19c

启动过程耗时较长,需耐心等待。

四.容器启动,进入容器

docker exec -it orcl19c /bin/bash

登录sqlplus 创建PDB用户

sqlplus / as sysdba

查看show pdbs

show pdbs

创建用户

//切换数据库
alter session set container=ORCLPDB;

# create user 用户名 identified by 密码;
create user root identified by root;

//授权
grant dba to root;

客户端连接

### 如何在Docker中通过宝塔面板安装Oracle 19c 要在Docker环境中通过宝塔面板安装Oracle 19c,可以按照以下方法操作: #### 宝塔面板中的Docker管理功能 宝塔面板提供了便捷的Docker管理工具,允许用户轻松创建、运行和监控Docker容器。对于安装Oracle 19c而言,可以通过配置`docker-compose.yml`文件或者直接执行Docker命令来完成部署。 --- #### 配置`docker-compose.yml`文件 以下是基于引用的内容构建的一个完整的`docker-compose.yml`文件示例[^1],适用于宝塔面板环境下的Docker服务管理模块: ```yaml version: '2.1' services: oracle_19c: image: registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c hostname: oracle19c container_name: oracle19c environment: - ORACLE_SID=ORCL - ORACLE_PDB=ORCLPDB - ORACLE_PWD=orcl - ORACLE_EDITION=standard - ORACLE_CHARACTERSET=AL32UTF8 - TZ=Asia/Shanghai restart: always privileged: true volumes: - ./oradata:/opt/oracle/oradata ports: - 1521:1521 - 5500:5500 ``` 此配置定义了一个名为`oracle19c`的服务实例,并设置了必要的环境变量以及端口映射。 --- #### 使用Docker命令手动启动容器 如果偏好使用命令行方式,则可以直接利用Docker CLI实现相同效果[^2]。具体命令如下所示: ```bash docker run -d \ -p 1521:1521 \ -e ORACLE_SID=ORCLCDB \ -e ORACLE_PDB=ORCLPDB \ -e ORACLE_PWD=123456 \ -e ORACLE_EDITION=standard \ -e ORACLE_CHARACTERSET=AL32UTF8 \ -v OracleDBData:/opt/oracle/oradata \ --name orcl19c \ registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c ``` 上述命令会拉取指定镜像并初始化一个新的数据库容器。 --- #### 进入容器并登录SQL*Plus 为了进一步验证安装情况或自定义设置,可借助`docker exec`指令访问正在运行的目标容器内部环境[^3]。例如: ```bash docker exec -it orcl19c /bin/bash sqlplus / as sysdba ``` 成功连接至SQL*Plus之后即可继续执行诸如创建新用户或其他高级配置的任务。 --- #### 将流程集成到宝塔面板 最后一步是在宝塔面板上导入前述YAML模板或将对应CLI脚本封装成一键脚本形式供后续调用。这样不仅简化了日常运维工作量,还提升了整体自动化水平。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值