用 Docker 搭建 ORACLE 数据库开发环境 用 Docker 搭建 ORACLE 数据库开发环境 Step 1:下载安装包 Step 2:build docker image Step 3:运行 Step 4:连接测试

需要安装 ORACLE 数据库做开发,直接安装的话因为各类平台的限制,非常复杂,会遇到很多问题。

还好,现在有 Docker 化的部署方式,省去很多麻烦。

以下核心内容来自 ORACLE 的项目:https://github.com/oracle/docker-images

Step 1:下载安装包

把 XE 版本的 ORACLE 安装包下来:下载链接

Step 2:build docker image

GitHub 上把 oracle 的 docker 项目 clone 下来:https://github.com/oracle/docker-images

Step 1 下载的安装包,放在项目的 OracleDatabase/SingleInstance/dockerfiles/11.2.0.2 目录下,在目录下运行:

docker build -t oracle/database:11.2.0.2-xe -f Dockerfile.xe .
 

Step 3:运行

docker run --name myoraclexe 
--shm-size=1g 
-p 1521:1521 -p 8080:8080 
-e ORACLE_PWD=xxxxxx 
-v /xxx/xxx/xxx/app/oracle/oradata 
oracle/database:11.2.0.2-xe
docker stop myoraclexe

docker start myoraclexe

Step 4:连接测试

sqlplus system/xxxxxx@//localhost:1521/XE

CREATE USER demo IDENTIFIED BY demo;
GRANT CONNECT, RESOURCE, DBA TO demo;
 

完,就这么简单!

执行过程中报错

[root@localhost 11.2.0.2]# docker build -t oracle/database:11.2.0.2-xe -f Dockerfile.xe .
Sending build context to Docker daemon  2.574GB
Step 1/10 : FROM oraclelinux:7-slim
 ---> 874477adb545
Step 2/10 : MAINTAINER Gerald Venzl <gerald.venzl@oracle.com>
 ---> Using cache
 ---> 90d13a9a6663
Step 3/10 : ENV ORACLE_BASE=/u01/app/oracle     ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe     ORACLE_SID=XE     INSTALL_FILE_1="oracle-xe-11.2.0-1.0.x86_64.rpm.zip"     INSTALL_DIR="$HOME/install"     CONFIG_RSP="xe.rsp"     RUN_FILE="runOracle.sh"     PWD_FILE="setPassword.sh"     CHECK_DB_FILE="checkDBStatus.sh"
 ---> Using cache
 ---> 5bc65d1d34a0
Step 4/10 : ENV PATH=$ORACLE_HOME/bin:$PATH
 ---> Using cache
 ---> 62099ecec7ee
Step 5/10 : COPY $INSTALL_FILE_1 $CONFIG_RSP $RUN_FILE $PWD_FILE $CHECK_DB_FILE $INSTALL_DIR/
COPY failed: stat /var/lib/docker/tmp/docker-builder133837941/oracle-xe-11.2.0-1.0.x86_64.rpm.zip: no such file or directory

大约是因为dockerfile中定义的  oracle-xe-11.2.0-1.0.x86_64.rpm.zip 找不到,我下载下来的是 oracle-database-xe-18c-1.0-1.x86_64.rpm

修改Dockerfile.xe

用 Docker 搭建 ORACLE 数据库开发环境
用 Docker 搭建 ORACLE 数据库开发环境
Step 1:下载安装包
Step 2:build docker image
Step 3:运行
Step 4:连接测试

重新执行上边的命令

 报错2:

Total download size: 27 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.

执行:

yum -y  install deltarpm

重新执行docker命令