一、Oracle Linux 10安装,
原计划Oracle Linux10 安装,yum.oracle.com上一直没有下载到,
截止2025-05-28 还未正式发布ISO。
测试环境预计在OL9.5和AlmaLinux-10.0上测试和截图
下载到 Red Hat Enterprise Linux
百度网盘 请输入提取码 c34a
下载到 AlmaLinux-10.0
二、podman和docker对比
为什么是Podman,从Oracle Linux 8/RHEL 8起成为默认容器工具,
8上的初始版本 Podman 1.6.4;9 默认搭载 Podman 4.5.1+;10 默认集成 Podman 5.0+。
2.1、Podman发展历程
Podman(Pod Manager)是由Red Hat公司主导开发的开源容器引擎,最早于2018年正式推出。类似于 Docker,可以用于拉取、运行、管理容器镜像。Podman 采用 无守护进程(Daemonless) 的架构,使其更加安全和轻量级,适用于多种容器化场景。
技术背景:2017年Docker公司调整开源协议后,Red Hat开始探索替代方案。Podman基于OCI规范开发,与Kubernetes的Pod概念深度集成,
Podman的设计理念:采用"无守护进程"架构,直接通过Linux内核API管理容器进程,避免了Docker Daemon的单点故障风险。
2.3、根据大模型推荐如下:
典型场景选择
选择Podman:
✅ 金融/医疗等安全敏感行业生产环境
✅ 多租户共享的服务器集群
✅ Kubernetes本地开发调试(支持原生YAML导出)
选择Docker:
✅ 混合云CI/CD流水线(已有成熟工具链)
✅ Windows/macOS桌面开发环境
✅ 依赖Swarm编排的传统微服务架构
演进趋势与局限
技术融合:Podman 5.0已支持Docker Compose V3语法,而Docker新增了rootless模式。
生态差距:Docker Hub仍是最大镜像仓库,Podman需手动配置第三方仓库认证。
性能取舍:Podman在并发启动100个容器时耗时比Docker多20%,但对单容器运行更轻量。
2.4、后期单独说明,因为安装Docker-Desktop非付费限制,选择Podman-Desktop
2.5、Podman源修改
2.5.1、核心兼容性说明
镜像仓库协议支持
Podman 完全支持 Docker 使用的 OCI(Open Container Initiative)标准镜像格式,意味着:
地址格式相同:可直接使用 docker.io/library/nginx 等 Docker 官方镜像地址,无需修改。
私有仓库兼容:私有镜像仓库地址,Podman 通过 podman login 登录后可直接使用。
默认镜像源继承
Podman 默认配置文件(
/etc/containers/registries.conf)中已包含 Docker Hub(docker.io)作为
默认搜索源。
用户拉取镜像时,以下命令完全等效:
podman pull nginx # 自动解析为 docker.io/library/nginx
docker pull nginx # Docker 原生语法
镜像加速器配置
Docker:通过 Docker Desktop 图形界面或 daemon.json 配置镜像加速。
Podman:需手动编辑 registries.conf
Podman 支持为同一仓库配置多个镜像源(例如网易、南京大学镜像)
vi registries.conf
[[registry]]
prefix = "docker.io"
location = "hub-mirror.c.163.com" # 网易镜像
[[registry.mirror]]
location = "docker.nju.edu.cn" # 南京大学镜像
有些无法获取的镜像需要梯子或是付费加速。
2.5.2 Podman 文件存储与管理目录详解
1、默认存储路径
Podman 的存储目录根据用户权限自动划分,分为 root 用户和普通用户两种模式:
Root 用户
默认存储路径
/var/lib/containers/storage,包含镜像、容器、数据卷等核心数据。
普通用户(非特权用户)
默认存储路径
~/.local/share/containers/storage,所有操作无需 root 权限,数据与用户环境隔离。
2、存储目录结构解析
默认存储路径下包含以下关键子目录:
├── overlay/ # OverlayFS 文件系统层(镜像分层存储)
├── oci/ # OCI 格式的镜像元数据
├── libpod/ # 容器运行时数据(如日志、状态文件)
├── volumes/ # 用户创建的持久化数据卷
└── tmp/ # 临时文件(如镜像下载缓存)
3、自定义存储路径配置
通过修改配置文件
/etc/containers/storage.conf 可调整路径:
[storage]
driver = "overlay"
graphroot = "/new/path/containers/storage" # 主存储路径
runroot = "/new/path/containers/run" # 运行时临时路径
三、设置设置podman的alias
修改 Shell 配置文件根据使用的 Shell 类型(如 Bash、Zsh),在用户配置文件末尾添加别名:
适用于 Bash
echo "alias docker=podman" >> ~/.bashrc
echo "alias docker-compose=podman-compose" >> ~/.bashrc
source ~/.bashrc
适用于 Zsh
echo "alias docker=podman" >> ~/.zshrc
echo "alias docker-compose=podman-compose" >> ~/.zshrc
source ~/.zshrc
四、podman pull oracle 23 ai image
未修改国内镜像源加速,使用oracle的源直接拉取,速度还不错
使用完整镜像启动 Oracle Database 23ai Free 容器
Oracle Database 23ai Free Container Image 包含一个预构建的数据库,因此
启动时间非常快。在 CI/CD 方案中,快速启动可能很有帮助。要启动 Oracle Database Free 容器,容器的任何自定义名称。此次使用
oracle23ai
当容器启动时,会为用户生成一个随机密码。这称为默认密码。SYS, SYSTEM and PDBADMIN
当字段显示在输出中时,Oracle Database 即可使用。
STATUS(healthy)
podman ps
#查看环境和目录大小
[root@OL95 ~]# pwd
/root
[root@OL95 ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 32G 0 32G 0% /dev/shm
tmpfs tmpfs 13G 9.3M 13G 1% /run
/dev/mapper/ol-root xfs 110G 6.2G 104G 6% /
/dev/mapper/ol-home xfs 33G 271M 33G 1% /home
/dev/sda2 xfs 960M 370M 591M 39% /boot
/dev/sda1 vfat 599M 6.3M 593M 2% /boot/efi
tmpfs tmpfs 6.3G 52K 6.3G 1% /run/user/42
tmpfs tmpfs 6.3G 36K 6.3G 1% /run/user/0
[root@OL95 ~]# cd /
[root@OL95 /]# pwd
/
[root@OL95 /]# cd usr
[root@OL95 usr]# pwd
/usr
[root@OL95 usr]# podman pull container-registry.oracle.com/database/free:latest
Trying to pull container-registry.oracle.com/database/free:latest...
Getting image source signatures
Copying blob 3c19df83dc53 done |
Copying blob 67273d20686c [>-------------------------------------] 2.0MiB / 100.5MiB | 56.5 KiB/s
Copying blob 7ce287ddcf02 [>-------------------------------------] 11.4MiB / 682.4MiB | 145.9 KiB/s
Copying blob fb5a2405efd1 done |
Copying blob 769e9048b21f [--------------------------------------] 2.9MiB / 1.6GiB | 75.1 KiB/s
Copying blob 18c61db4fa1a done |
Copying blob 60b151ee286c done |
Copying blob 2848595a8195 [===========================>----------] 1.9MiB / 2.6MiB | 63.6 KiB/s
Copying blob 7cddbcf7b07f done |
Copying blob a723d4eb80ab done |
Copying blob 4be01f5508ce done |
Copying blob 2b69d3f60317 done |
Copying blob c321a0e5c325 done |
Copying blob 376386880722 done |
Copying blob 11a1c1f55c59 [--------------------------------------] 3.9MiB / 479.0MiB | 78.6 KiB/s
Copying blob 09677a4c8b1d [--------------------------------------] 1.7MiB / 374.0MiB | 48.6 KiB/s


运行镜像
podman run -d --name oracle23ai -p 1521:1521 container-registry.oracle.com/database/free:latest
#以sysdba身份登录并查看实例
podman exec -it oracle23ai sqlplus / as sysdba
SQL> col host_name for A30
SQL> set pagesize 200
SQL> set linesize 300
SQL> col database_type for A30
SQL> select host_name,version,database_type from v$instance;
HOST_NAME VERSION DATABASE_TYPE
6b6185c0c952 23.0.0.0.0 SINGLE