Mac M系列芯片制作Oracle19镜像使用docker-compose运行

Mac M系列使用docker-compose制作Oracle19c镜像

环境说明:本文测试环境为MacBook Pro(M2芯片),运行macOS Sonoma 14.8.1系统

Docker、docker-compose安装步骤省略。

一、拉取官方镜像构建仓库

  • git命令下载(推荐)
bash 复制代码
git clone https://github.com/oracle/docker-images.git
  • git下载压缩包

二、Oracle 数据库安装包下载

三、构建镜像

bash 复制代码
cd docker-images/OracleDatabase/SingleInstance/dockerfiles
# 执行构建命令,等待完成即可
./buildContainerImage.sh -v 19.3.0 -e

# 执行完成后可通过docker命令查看镜像
docker images

四、编写docker-compose文件

yaml 复制代码
services:
  oracle19c:
    image: oracle/database:19.3.0-ee
    container_name: oracle19c
    environment:
      - ORACLE_SID=ORCLCDB
      - ORACLE_PDB=ORCL
      - ORACLE_PWD=oracle
      - ORACLE_CHARACTERSET=AL32UTF8
      - TZ=Asia/Shanghai
    ports:
      - "1521:1521"   # SQL*Net
      - "5500:5500"   # Enterprise Manager Express
    volumes:
      - ./oradata:/opt/oracle/oradata   # 数据持久化目录
      #- ./scripts/setup:/opt/oracle/scripts/setup   # 可选:初始化脚本目录
      #- ./scripts/startup:/opt/oracle/scripts/startup # 可选:启动脚本目录
    restart: always

五、使用docker-compose启动oracle19c镜像

bash 复制代码
# 进入到docker-compose所在文件夹下执行(此过程稍微会比较慢,因为需要初始化数据库)
docker-compose up -d

# 查看容器启动状态
docker ps -a

六、连接oracle配置

bash 复制代码
# 地址:localhost
# 端口:1521
# 服务名:ORCL
# SID: orclcdb
# 用户名:system
# 密码:oracle
# SID方式连接
jdbc:oracle:thin:@localhost:1521:orclcdb
# 服务名方式连接
jdbc:oracle:thin:@//localhost:1521/orcl

七、查看相关服务命令

bash 复制代码
# 进入容器内部
docker exec -it oracle19c bash
# 查看当前 Oracle 数据库监听器(Listener)的状态信息
lsnrctl status
# 暂停监听
lsnrctl stop
# 启动监听
lsnrctl start
# 登陆oracle
sqlplus / as sysdba
# 启动 Oracle 数据库实例
startup;
相关推荐
heimeiyingwang1 小时前
【架构实战】Docker容器化:从镜像到部署的完整实践
docker·容器·架构
遇见火星11 小时前
Docker Compose 完全入门:一键启动所有容器
运维·docker·容器·docker compose
云原生指北14 小时前
Apple Container Machine:把 Linux 搬进 Mac
macos·docker
隐层漫游者19 小时前
2026全网最细Docker容器化实战!从安装配置到Milvus向量数据库部署,一文掌握核心精髓(建议收藏)
docker
加加and减减21 小时前
Docker真实安装mysql8教程并优化配置
运维·mysql·docker·容器
半夜燃烧的香烟1 天前
docker 安装minio nginx,配置nginx根据文根路由minio展示图片
java·nginx·docker
qiuziqiqi1 天前
ocker-compose.yml 和Dockerfile 区别
运维·docker·容器
“码”力全开1 天前
【架构深探】基于Docker与GB28181/RTSP的边缘计算AI视频管理平台:异构算力调度与源码交付实践
人工智能·docker·架构
qq7590353661 天前
2026 docker run启动的容器通过命令导出为docker-composer.yml文件
docker·eureka·composer
极客先躯1 天前
高级java每日一道面试题-2026年02月03日-实战篇[Docker]-如何备份和恢复 Docker Volume?
运维·docker·容器·自动化·备份·持久化·恢复