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;
相关推荐
程序员老赵10 小时前
Docker 部署 Wiki.js:轻松搭建私有化维基知识库
docker·容器·开源
灯澜忆梦12 小时前
【Docker】#5 | 网络配置
网络·docker·容器
刘胡子大叔13 小时前
docker build 跑了 92 分钟还是失败了
docker·容器
她说可以呀13 小时前
Docker 镜像的两种创建方式
java·分布式·docker
虎头金猫14 小时前
从上传PPT到观众远程打开互动页面:Claper在CentOS 7上的Docker部署、互动组件设置与固定访问地址实战
linux·运维·网络·人工智能·docker·centos·powerpoint
CocoaKier14 小时前
如何安装旧版的MacOS系统?
macos·ios·mac
%KT%16 小时前
ubuntu系统部署docker
运维·docker·容器
十二同学啊16 小时前
Docker 容器化技术详解:镜像、容器、网络与应用部署设计
网络·docker·eureka
I'mChloe16 小时前
不再逐台装Docker:我用Ansible Playbook批量统一服务器环境
服务器·docker·ansible
江湖有缘17 小时前
Docker实战 | 使用Docker部署Readeck书签管理工具
java·docker·eureka