oracle-free Docker 镜像下载 - 轩辕镜像
oracle-free 镜像详细信息和使用指南
oracle-free 镜像标签列表和版本信息
oracle-free 镜像拉取命令和加速下载
oracle-free 镜像使用说明和配置指南
Docker 镜像加速服务 - 轩辕镜像平台
国内开发者首选的 Docker 镜像加速平台
极速拉取 Docker 镜像服务
相关 Docker 镜像推荐
热门 Docker 镜像下载
oracle-free 镜像详细信息
oracle-free 镜像标签列表
oracle-free 镜像使用说明
oracle-free 镜像拉取命令
Docker 镜像加速服务
轩辕镜像平台优势
镜像下载指南
相关 Docker 镜像推荐
oracle-free 镜像详细说明
oracle-free 使用指南
oracle-free 配置说明
oracle-free 官方文档
oci-oracle-free:Oracle Database Free 容器镜像
目录
- 支持的标签
- 快速开始
- 使用这些镜像的项目
- 如何使用这些镜像
- 镜像类型
- 环境变量
- GitHub Actions 集成
- Docker Compose 配置
- 数据库用户管理
- 可插拔数据库(PDB)
- 容器密钥管理
- 初始化脚本
- 启动脚本
- 配置脚本
- 反馈与建议
支持的标签
| 标签格式 | 支持状态 |
|---|---|
latest[-faststart] | 🔵 长期支持 |
slim[-faststart] | 🔵 长期支持 |
full[-faststart] | 🔵 长期支持 |
23[-faststart]23[-slim][-faststart]23[-full][-faststart] | 🟢 当前支持 |
23.9[-faststart]23.9[-slim][-faststart]23.9[-full][-faststart] | 🟢 当前支持 |
23.8[-faststart]23.8[-slim][-faststart]23.8[-full][-faststart] | 🟡 已过时 |
23.7[-faststart] 及更早版本 | 🔴 不再支持 |
标签说明
方括号 [] 中的内容表示可选标签,例如 23[-slim][-faststart] 包含以下具体标签:
23、23-slim、23-faststart、23-slim-faststart。
支持状态含义
| 状态标识 | 说明 |
|---|---|
| 🔵 长期支持 | 镜像长期维护,持续提供 bug 修复和常规更新。 |
| 🟢 当前支持 | 镜像处于活跃支持阶段,提供修复和更新。 |
| 🟡 已过时 | 镜像已过时,仅修复严重 bug,建议升级至新版本。 |
| 🔴 不再支持 | 镜像停止维护,无更新且可能随时移除,强烈不建议使用。 |
快速开始
启动非持久化数据库容器
(容器删除后数据丢失,但重启容器数据保留)
shelldocker run -d -p 1521:1521 -e ORACLE_PASSWORD=<你的密码> gvenzl/oracle-free
启动持久化数据库容器
(数据保存在卷中,不受容器生命周期影响)
shelldocker run -d -p 1521:1521 -e ORACLE_PASSWORD=<你的密码> -v oracle-volume:/opt/oracle/oradata gvenzl/oracle-free
重置 SYS/SYSTEM 用户密码
shelldocker exec <容器名或ID> resetPassword <新密码>
Apple Mac M 芯片支持
从 Oracle Database 23.5 Free 开始,提供 ARM 架构版本,镜像已支持多平台(multi-arch)。
使用这些镜像的项目
以下项目已采用该镜像:
- Benthos(数据处理框架)
- Hibernate Reactive(响应式 ORM)
- Ibis(数据分析工具)
- JobRunr(任务调度库)
- jOOQ(SQL 构建工具)
- Quarkus(云原生 Java 框架)
- Ruby on Rails ActiveRecord adapter(Rails 数据库适配器)
- Spring Data(Spring 数据访问框架)
- Micronaut(微服务框架)
- utPLSQL(PL/SQL 测试框架)
若你的项目使用了该镜像,可通过 GitHub Issue 申请添加到列表。
如何使用这些镜像
镜像类型
| 类型 | 标签后缀 | 说明 | 适用场景 |
|---|---|---|---|
| Slim | -slim | 最小化镜像,仅保留核心功能,牺牲部分扩展能力换取更小体积。 | 对镜像大小敏感,且无需 Oracle 高级功能的场景。 |
| 标准 | 无 | 平衡体积与功能,推荐大多数场景使用。 | 常规开发、测试、小型生产环境。 |
| Full | -full | 包含 Oracle 数据库完整功能,基于***安装包构建。 | 需要自定义扩展或深度定制数据库的场景。 |
| Faststart | *-faststart | 内置预初始化数据库,启动速度更快,但镜像体积较大。 | 自动化测试(频繁启停容器且无需持久化数据)。 |
各类型镜像的具体修改内容可参考 ImageDetails.md。
环境变量
环境变量用于自定义容器初始化(仅首次启动时生效):
ORACLE_PASSWORD(必填)
设置 SYS 和 SYSTEM 用户的初始密码。
ORACLE_RANDOM_PASSWORD(可选)
设为非空值(如 yes),自动生成 SYS 和 SYSTEM 的随机密码,密码会打印到日志(格式:ORACLE PASSWORD FOR SYS AND SYSTEM: ...)。
ORACLE_DATABASE(可选)
指定要创建或插拔的 PDB 名称。若容器内 /pdb-plug 目录存在 <名称>.pdb 文件,则自动插拔该 PDB;否则创建新 PDB。支持逗号分隔多 PDB(如 PDB1,PDB2)。
注意:创建新 PDB 会增加首次启动时间,若无需自定义 PDB,可直接使用默认的
FREEPDB1。
APP_USER(可选)
创建应用用户,需配合 APP_USER_PASSWORD 或 APP_USER_PASSWORD_FILE 使用。18c+ 版本默认在 FREEPDB1 中创建,若指定 ORACLE_DATABASE,则同时在对应 PDB 中创建。
APP_USER_PASSWORD(可选)
APP_USER 的密码,需与 APP_USER 同时指定。
GitHub Actions 集成
方式一:使用 Setup 动作
通过 GitHub Marketplace 的 Setup Oracle DB Free 动作快速集成:
yamljobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: gvenzl/setup-oracle-free@v1 with: app-user: <应用用户名> app-user-password: <用户密码>
方式二:作为服务容器
直接定义为服务容器(Service Container):
yamlservices: oracle: image: gvenzl/oracle-free:latest # 可替换为其他标签 env: ORACLE_RANDOM_PASSWORD: true # 随机生成管理员密码 APP_USER: my_user # 创建应用用户 APP_USER_PASSWORD: <用户密码> ports: - 1521:1521 # 映射数据库端口 # 健康检查配置 options: >- --health-cmd healthcheck.sh --health-interval 10s --health-timeout 5s --health-retries 10
连接信息:
- 主机名:
oracle(容器内)或localhost(宿主机) - 端口:
1521 - 服务名:
FREEPDB1 - 应用用户:
my_user(上述配置中的APP_USER)
Docker Compose 配置
通过 Docker Compose 快速搭建开发/测试环境:
yamlversion: "3.8" services: oracle: image: gvenzl/oracle-free:latest # 镜像标签 ports: - "1521:1521" # 端口映射 environment: ORACLE_PASSWORD: sys密码 # SYS/SYSTEM 密码 APP_USER: my_user # 应用用户 APP_USER_PASSWORD: 用户密码 # 用户密码 healthcheck: # 健康检查 test: ["CMD", "healthcheck.sh"] interval: 10s timeout: 5s retries: 10 volumes: - ./my-init.sql:/container-entrypoint-initdb.d/my-init.sql:ro # 挂载初始化脚本
连接信息:
- 容器内服务名:
oracle;宿主机:localhost - 端口:
1521 - 服务名:
FREEPDB1
数据库用户管理
通过内置命令 createAppUser 创建额外用户(含标准权限):
shell# 用法:createAppUser 用户名 密码 [目标PDB,默认FREEPDB1] docker exec <容器名或ID> createAppUser <应用用户> <用户密码> [<目标PDB>]
示例:在 PDB1 中创建用户 app_user,密码 app_pwd:
shelldocker exec my-oracle createAppUser app_user app_pwd PDB1
可插拔数据库(PDB)
将 <PDB名称>.pdb 文件放入容器内 /pdb-plug 目录,并通过 ORACLE_DATABASE 指定 PDB 名称,即可自动插拔 PDB。
容器密钥管理
敏感信息(如密码)可通过文件传入,只需在环境变量后添加 _FILE 后缀,从容器内文件读取值。例如:
shelldocker run -d --name oracle-db -e ORACLE_PASSWORD_FILE=/run/secrets/oracle-passwd gvenzl/oracle-free
支持的变量:APP_USER_PASSWORD_FILE、ORACLE_PASSWORD_FILE、ORACLE_DATABASE_FILE。
不同容器技术(Docker/Podman/Kubernetes)的密钥管理机制不同,建议参考***文档。
初始化脚本
容器首次启动时,会执行 /container-entrypoint-initdb.d 目录下的脚本(支持 *.sql、*.sql.gz、*.sql.zip、*.sh),按字母顺序执行(含子目录)。
脚本类型说明
*.sql/*.sql.gz/*.sql.zip:通过 SQL*Plus 以SYS用户连接到FREE实例执行,可用于创建 PDB、表空间等。若需初始化应用 schema,需在脚本中显式连接目标用户。*.sh:可执行脚本(带x权限)在新 shell 中运行;非可执行脚本会被 source 到当前 shell(可能影响环境变量,建议设为可执行)。
示例:创建测试用户并初始化数据
-
本地创建
init_scripts目录,包含以下文件:1_create_user.sql:创建用户sqlALTER SESSION SET CONTAINER=FREEPDB1; CREATE USER TEST IDENTIFIED BY test QUOTA UNLIMITED ON USERS; GRANT CONNECT, RESOURCE TO TEST;2_init_data.sh:下载并执行数据脚本bashcurl -LJO [***] sqlplus -s test/test@//localhost/FREEPDB1 @install.sql rm install.sql
-
启动容器时挂载目录:
shelldocker run -d -p 1521:1521 -e ORACLE_RANDOM_PASSWORD=yes -v ./init_scripts:/container-entrypoint-initdb.d gvenzl/oracle-free:23-slim
注意:脚本仅在首次初始化时执行,已有数据库不会重复执行。
启动脚本
若需在每次数据库启动后执行操作,可将脚本放入 /container-entrypoint-startdb.d 目录(支持文件类型与初始化脚本相同),每次容器启动(含重启)后执行。
配置脚本
数据库配置脚本可参考 config-scripts 目录。
反馈与建议
如有问题或建议,可通过 GitHub Issues 提交。
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务
常见问题
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
轩辕镜像下载加速使用手册
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
登录仓库拉取
通过 Docker 登录认证访问私有仓库
Linux
在 Linux 系统配置镜像加速服务
Windows/Mac
在 Docker Desktop 配置镜像加速
Docker Compose
Docker Compose 项目配置加速
K8s Containerd
Kubernetes 集群配置 Containerd
宝塔面板
在宝塔面板一键配置镜像加速
群晖
Synology 群晖 NAS 配置加速
飞牛
飞牛 fnOS 系统配置镜像加速
极空间
极空间 NAS 系统配置加速服务
爱快路由
爱快 iKuai 路由系统配置加速
绿联
绿联 NAS 系统配置镜像加速
威联通
QNAP 威联通 NAS 配置加速
Podman
Podman 容器引擎配置加速
Singularity/Apptainer
HPC 科学计算容器配置加速
其他仓库配置
ghcr、Quay、nvcr 等镜像仓库
专属域名拉取
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429