-
拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
-
启动
docker run -itd --name oracle19c
--privileged=true
--restart=always
-p 1522:1521
-e ORACLE_SID=orcl
-e ORACLE_PDB=ORCLPDB
-e ORACLE_PWD=123456
-e ORACLE_EDITION=standard
-e ORACLE_CHARACTERSET=UTF8
-e TZ=Asia/Shanghai
-v /data/oracle-19c:/opt/oracle/oradata
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c
这个 Docker 命令用于启动一个 Oracle 19c 数据库容器。详细解释如下:
基本命令
docker run- 创建并运行一个新容器-itd- 三个参数的组合:-i:交互模式-t:分配伪终端-d:后台运行(守护进程方式)
容器配置
--name oracle19c- 容器名称为oracle19c--privileged=true- 授予容器高级权限(Oracle 数据库需要)--restart=always- 容器退出后自动重启
端口映射
-p 1522:1521- 宿主机 1522 端口 → 容器内 1521 端口(数据库监听端口) 使用 1522 而非默认的 1521,避免与其他 Oracle 实例冲突
环境变量配置
| 变量 | 值 | 说明 |
|---|---|---|
ORACLE_SID=orcl |
orcl | Oracle 系统标识符 |
ORACLE_PDB=ORCLPDB |
ORCLPDB | 可插拔数据库(PDB)名称 |
ORACLE_PWD=123456 |
123456 | SYS、SYSTEM 等管理员密码 |
ORACLE_EDITION=standard |
standard | 使用 Oracle 标准版 |
ORACLE_CHARACTERSET=UTF8 |
UTF8 | 数据库字符集(支持中文) |
TZ=Asia/Shanghai |
北京时间 | 容器时区设置 |
数据持久化
-v /data/oracle-19c:/opt/oracle/oradata- 宿主机目录:
/data/oracle-19c - 容器内目录:
/opt/oracle/oradata(数据库数据文件位置) - 作用:容器删除后数据不丢失
- 宿主机目录:
镜像来源
registry.cn-hangzhou.aliyuncs.com/zhuyijun/oracle:19c- 阿里云国内镜像仓库
- 作者/组织:zhuyijun
- 版本:Oracle 19c
连接到数据库
启动后,使用以下方式连接:
- 主机 :
localhost或服务器 IP - 端口:1522
- SID :
orcl - PDB :
ORCLPDB - 用户名 :
SYSTEM或SYS - 密码 :
123456