构建Oracle的Docker镜像
docker-oracle-xe-11g
https://github.com/wnameless/docker-oracle-xe-11g
使用本镜像可快速构建一个用于实验的Oracle数据库,Oracle版本使用的是Oracle Express Edition 11g Release 2 。
基于 Ubuntu 18.04 LTS的Oracle Express Edition 11g Release 2
+新的DockerHub[wnameless/oracle-xe-11g-r2]已经发布,因为
+旧的[wnameless/oracle-xe-11g]被DockerHub禁止,我无法恢复它。
+感谢Oracle工作人员对撤消我的DMCA问题的帮助,但是这个问题
+被DockerHub完全忽略了,我几乎无能为力,只能打开一个新的repo。
+2019年9月29日
本地安装方法如下
git clone https://github.com/wnameless/docker-oracle-xe-11g.git
cd docker-oracle-xe-11g
docker build -t wnameless/oracle-xe-11g .
(请留意上述命令末尾的小数点.号)
从DockerHub在线安装方法正如
docker pull wnameless/oracle-xe-11g-r2
友情提醒SSH服务自18.04版本已移除,请使用"docker exec"命令登入服务器
快速入门方法
确保 1521 端口已开启的前提下执行以下命令:
docker run -d -p 49161:1521 wnameless/oracle-xe-11g-r2
如果想远程连接数据库,请运行下述命令:
docker run -d -p 49161:1521 -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g-r2
出于性能考虑,您可能需要禁用磁盘异步 IO:
docker run -d -p 49161:1521 -e ORACLE_DISABLE_ASYNCH_IO=true wnameless/oracle-xe-11g-r2
使用默认密码启用 XDB 用户: xdb, 则运行下边的命令:
docker run -d -p 49161:1521 -e ORACLE_ENABLE_XDB=true wnameless/oracle-xe-11g-r2
针对 APEX 用户:
docker run -d -p 49161:1521 -p 8080:8080 wnameless/oracle-xe-11g-r2
使用以下账号密码来登入 http://localhost:8080/apex/apex_admin :
用户名(大写): ADMIN
密码(小写): admin
对于最新版的 APEX(18.1) 用户, 请先行拉取 wnameless/oracle-xe-11g-r2:18.04-apex 管理后台:
docker run -d -p 49161:1521 -p 8080:8080 wnameless/oracle-xe-11g-r2:18.04-apex
使用以下账号密码来登入 http://localhost:8080/apex/apex_admin 管理后台:
用户名(大写): ADMIN
密码(小写): Oracle_11g
默认已, 禁用验证密码有效期(已设为密码永不过期)
用以下参数设置连接数据库:
hostname: localhost
port: 49161
sid: xe
username: system
password: oracle
账号 SYS 及 SYSTEM的密码均为
oracle
最后也可使用以下命令进行自定义数据库的初始化运行脚本
# Dockerfile
FROM wnameless/oracle-xe-11g-r2
ADD init.sql /docker-entrypoint-initdb.d/
ADD script.sh /docker-entrypoint-initdb.d/
上述脚本是按字母顺序来运行的。