1. 项目背景与核心价值
Casdoor作为新一代开源身份认证系统,正在成为企业级SSO解决方案的热门选择。最近在帮客户做安全架构升级时,我们选择了容器化部署Casdoor并实现与JumpServer的CAS协议对接,整个过程踩了不少坑,也积累了一些实战经验。
这种组合方案特别适合需要统一身份管理的技术团队:Casdoor提供标准的OAuth2.0/CAS协议支持,JumpServer作为堡垒机需要安全的认证入口,容器化部署则保证了环境的一致性和可移植性。实测下来,整套系统在CentOS 7.9上的部署时间可以控制在2小时内,比传统部署方式效率提升60%以上。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 容器化部署实战
2.1 基础环境准备
推荐使用Docker 20.10+和docker-compose 1.29+版本。我在CentOS 7.9上的准备步骤如下:
bash复制# 安装必要工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker引擎
yum install -y docker-ce docker-ce-cli containerd.io
# 启动服务
systemctl start docker && systemctl enable docker
注意:生产环境建议配置私有镜像仓库,我们使用的是Harbor v2.5.3,可以显著提升镜像拉取速度。
2.2 Casdoor容器部署
官方提供的docker-compose.yml需要做三处关键修改:
- 数据库配置:将内置SQLite改为MySQL 8.0,提高并发性能
- 端口映射:默认8080端口改为自定义端口(如18080)
- 持久化存储:添加数据卷挂载防止容器重启数据丢失
修改后的关键配置片段:
yaml复制services:
casdoor:
image: casbin/casdoor:latest
ports:
- "18080:80
