FreeIPA服务器容器,提供集中式身份认证、授权和账户管理服务,支持在容器中部署主服务器或副本,通过systemd管理服务,适用于开发测试与生产环境,支持数据持久化、版本升级及多标签选择(稳定版/开发版)。
收藏数: 180
下载次数: 6329690
类型:

freeipa/freeipa-serverFreeIPA服务器容器镜像基于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。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务