Dockerfile文件
cat > Dockerfile << 'EOF'
# 使用 Oracle Linux 8 作为基础镜像
FROM oraclelinux:8
# 复制 Oracle 19c 安装包
COPY oracle-database-ee-19c-1.0-1.x86_64.rpm /tmp/
# 安装 Oracle 19c 数据库和依赖
RUN yum localinstall -y /tmp/oracle-database-ee-19c-1.0-1.x86_64.rpm && \
yum -y clean all && \
rm -f /tmp/oracle-database-ee-19c-1.0-1.x86_64.rpm
# 初始化数据库脚本
COPY Instance_initialization.sh /opt/oracle/scripts/Instance_initialization.sh
RUN chmod +x /opt/oracle/scripts/Instance_initialization.sh
# 切换Oracle
USER oracle
# 设置环境变量
ENV ORACLE_BASE=/opt/oracle \
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 \
ORACLE_VERSION=19.3.0 \
PATH=/opt/oracle/product/19c/dbhome_1/bin:$PATH
# 创建目录用于挂载持久化表空间和 dump 文件
RUN mkdir -p $ORACLE_BASE/oradata && \
mkdir -p $ORACLE_BASE/admin/dump
# 暴露端口
EXPOSE 1521 5500
# 配置数据库启动时的命令
CMD ["/usr/bin/sh /opt/oracle/scripts/Instance_initialization.sh"]
EOF
初始化脚本
vim Instance_initialization.sh
export ORACLE_BASE=/opt/oracle
export