FreeIPA服务器容器镜像基于freeipa/freeipa-container构建,提供集中式身份认证、授权、账户管理及域名服务(DNS)。容器通过systemd管理内部服务,支持部署主服务器或副本,数据通过持久化存储卷保存,可实现配置与数据的升级迁移。
almalinux-9/rocky-9)、开发测试版(fedora-*)及最新版(fedora-rawhide)标签/data目录,支持通过卷挂载实现持久化ipa-server-install)和副本(ipa-replica-install)部署rocky-9-4.*.*)部署集中式身份认证服务| 用途 | 推荐标签 | 说明 |
|---|---|---|
| 生产环境 | freeipa/freeipa-server:rocky-9 | 稳定版,基于Rocky Linux 9 |
| 生产环境(固定版本) | freeipa/freeipa-server:rocky-9-4.*.* | 指定FreeIPA版本,更高稳定性 |
| 开发测试 | freeipa/freeipa-server:fedora-* | 基于Fedora,包含新特性 |
| 最新特性 | freeipa/freeipa-server:fedora-rawhide | 最新开发版本 |
podman run/etc/docker/daemon.json中添加{ "userns-remap": "default" },重启Docker服务-v /sys/fs/cgroup:/sys/fs/cgroup:rosetsebool -P container_manage_cgroup 1允许容器管理cgroup创建主机数据目录并挂载至容器/data:
bashmkdir /var/lib/ipa-data # 主机数据目录
首次运行时通过ipa-server-install交互式配置(默认命令,可省略):
bashpodman run --name freeipa-server -ti \ -h ipa.example.test \ # 设置容器主机名(必须) --read-only \ # 只读根文件系统(推荐) -v /var/lib/ipa-data:/data:Z \ # 挂载数据卷(Z选项修复SELinux上下文) freeipa/freeipa-server ipa-server-install -r EXAMPLE.TEST --no-ntp
使用-U参数及环境变量实现无人值守安装:
bashdocker run --name freeipa-server -ti \ -h ipa.example.test \ --read-only \ -v /var/lib/ipa-data:/data:Z \ -e PASSWORD=Secret123 \ # 管理员密码 freeipa/freeipa-server ipa-server-install -U -r EXAMPLE.TEST --no-ntp
ipa-server-install参数(如上述示例)-e IPA_SERVER_INSTALL_OPTS="参数"传递,例如:
bashpodman run ... -e IPA_SERVER_INSTALL_OPTS="-U -r EXAMPLE.TEST --no-ntp" freeipa/freeipa-server
ipa-server-install-options文件,每行一个参数:
ini# /var/lib/ipa-data/ipa-server-install-options内容 --realm=EXAMPLE.TEST --ds-password=DirSrvPass123 --admin-password=AdminPass123
通过ipa-replica-install命令部署副本,需指定主服务器信息:
bashpodman run --name freeipa-replica -ti \ -h replica.example.test \ --read-only \ -v /var/lib/ipa-replica-data:/data:Z \ freeipa/freeipa-server ipa-replica-install --server=ipa.example.test -p Secret123
副本安装选项也可通过
ipa-replica-install-options文件传递(同主服务器文件方式)
若需从外部访问FreeIPA服务,需映射端口并设置IPA_SERVER_IP环境变量:
bashdocker run ... \ -e IPA_SERVER_IP=10.12.0.98 \ # 容器对外暴露的IP(需与主机端口映射对应) -p 53:53/udp -p 53:53 \ # DNS -p 80:80 -p 443:443 \ # HTTP/HTTPS -p 389:389 -p 636:636 \ # LDAP/LDAPS -p 88:88 -p 464:464 \ # Kerberos -p 88:88/udp -p 464:464/udp \ -p 123:123/udp \ # NTP(若启用) freeipa/freeipa-server ...
选择基于目标OS的*-client分支,构建镜像:
bashgit clone [***] cd freeipa-container git checkout fedora-client # 选择OS分支(如fedora-client、rocky-client等) docker build -t freeipa-client .
客户端需正确配置DNS或直接链接到服务器容器:
bashdocker run --privileged \ --link freeipa-server-container:ipa \ # 链接到服务器容器 -e PASSWORD=Secret123 \ # 管理员密码 -ti freeipa-client
首次运行时自动执行
ipa-client-install完成域加入
DEBUG_TRACE=1:启用脚本执行跟踪(显示详细执行过程)DEBUG_NO_EXIT=1:脚本失败后不退出容器,可通过exec进入调试:
bashpodman exec -it freeipa-server-container bash # 进入运行中的容器
exit-on-finished:配置完成后自动退出容器(用于一次性部署脚本)
bashdocker run ... freeipa/freeipa-server exit-on-finished -U -r EXAMPLE.TEST
no-exit:同DEBUG_NO_EXIT=1,作为命令参数使用:
bashpodman run ... freeipa/freeipa-server no-exit -U -r EXAMPLE.TEST
bashpodman run ... -v /var/lib/ipa-data:/data:Z freeipa/freeipa-server:rocky-9-new
cp -a /var/lib/ipa-data /var/lib/ipa-data-backup可通过项目测试脚本验证容器功能:
bash# 使用Docker运行测试 tests/run-partial-tests.sh Dockerfile # 使用Podman运行测试 docker=podman tests/run-partial-tests.sh Dockerfile
本镜像基于Apache License 2.0许可,详见Apache License 2.0。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429