一、Oracle Linux 10安装,
原计划Oracle Linux10 安装,yum.oracle.com上一直没有下载到,
截止2025-05-28 还未正式发布ISO。
测试环境预计在OL9.5和AlmaLinux-10.0上测试和截图
下载到 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 支持为同一仓库配置多个镜像源(例如网易、南京大学镜像)
有些无法获取的镜像需要TIZI或是付费加速。
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 usr]#
podman pull container-registry.oracle.com/database/free:latest
编辑
编辑
运行镜像
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
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/566837/viewspace-3086444/
,如需转载,请注明出处,否则将追究法律责任。