(可选) 使用 Docker 运行
安装要求
硬件
如果你想自己构建Docker镜像,请确保你的机器至少有2GB的内存。 Casdoor的前端是一个React的NPM项目。 构建前端至少需要 2GB 的内存。 内存少于2GB可能会导致前端构建失败。
如果您只需要运行预构建的镜像,请确保您的机器至少有100MB的内存。
操作系统
所有操作系统(Linux,Windows和macOS)都受到支持。
Docker
您可以在 Linux 中使用 Docker (docker-engine 版本 >= 17.05),或在 Windows 和 macOS 中使用 Docker Desktop。
无论操作系统如何,用户必须确保他们拥有docker-engine版本 >= 17.05。 这是因为我们在docker-compose.yml中使用了多阶段构建功能,该功能在17.05及以上版本中得到支持。 有关更多信息,请参见https://docs.docker.com/develop/develop-images/multistage-build/。
如果您也在使用docker-compose,请确保您有docker-compose版本 >= 2.2。 对于Linux用户,您还需要确保已安装docker-compose,因为它与docker-engine是分开的。
获取镜像
我们提供了两个DockerHub 镜像:
名称 | 描述 | 建议 |
---|---|---|
casdoor-all-in-one | 镜像中包含了Casdoor和MySQL数据库 | 此图像已包含一个玩具数据库,仅用于测试目的 |
casdoor | 只有Casdoor被包含在图像中 | 此图像可以连接到您自己的数据库,并在生产中使用 |
- casbin/casdoor-all-in-one: 这个镜像包含了casdoor二进制文件,一个MySQL数据库,以及所有必要的配置。 这是为了希望快速尝试Casdoor的新用户而设计的。 有了这个镜像,您只需一两个命令就可以立即启动Casdoor,无需任何复杂的配置。 然而,请注意,我们不建议在生产环境中使用此图像。
选项 1: 使用示例数据库
运行容器,并将8000
端口暴露给主机。 如果本地主机上不存在该图像,系统将会自动拉取。
docker run -p 8000:8000 casbin/casdoor-all-in-one
在您的浏览器中访问 http://localhost:8000。 使用默认的全局管理员账户:built-in/admin
登录Casdoor控制面板
admin
123
选项-2:尝试直接使用标准图像
如果将配置文件挂载到容器不方便,使用环境变量也是一种可能的解决方案。
docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-p 8000:8000 \
casbin/casdoor:latest
创建conf/app.conf
。 您可以从Casdoor的conf/app.conf中复制它。 ``有关
app.conf`的更多详
然后运行
docker run -p 8000:8000 -v /folder/of/app.conf:/conf casbin/casdoor:latest
无论如何,只需将 app.conf 挂载到 /conf/app.conf,然后启动容器。
在您的浏览器中访问 http://localhost:8000。 使用默认的全局管理员账户:built-in/admin
登录Casdoor控制面板
admin
123
选项-3:尝试使用docker-compose
在与docker-compose.yml
文件相同的目录级别中创建一个conf/app.conf
目录。 然后,从Casdoor复制app.conf。 有关app.conf
的更多详细信息,您可以查看通过Ini文件。
使用docker-compose创建一个单独的数据库:
docker-compose up
这样就完成了! 🛩️
在您的浏览器中访问 http://localhost:8000。 使用默认的全局管理员账户:built-in/admin
登录Casdoor控制面板
admin
123
如果你深入研究docker-compose.yml文件,我们创建的名为“RUNNING_IN_DOCKER”的环境变量可能会让你感到困惑。 当通过docker-compose创建数据库'db'时,它在你的PC的localhost上可用,但不在Casdoor容器的localhost上可用。 为了防止您因修改app.conf而遇到麻烦,这对新用户来说可能相当困难,我们提供了这个环境变量,并在docker-compose.yml中预先分配了它。 当此环境变量设置为true时,localhost将被替换为host.docker.internal,以便Casdoor可以访问数据库。