跳到主内容

使用Docker尝试

安装要求

硬件

  • 构建镜像:至少2 GB内存。 前端是一个React(npm)项目,构建时可能因内存不足而失败。
  • 运行预构建镜像:至少100 MBRAM。

操作系统

支持Linux、Windows和macOS。

Docker

  • Docker:使用Docker(Linux 上的引擎 ≥ 17.05)或 Windows/macOS 上的 Docker Desktop。 项目中使用的多阶段构建需要版本 17.05+(请参阅Docker 多阶段构建).
  • Docker Compose:如果您使用 Compose,请安装docker-compose v2.2+. 在 Linux 上,Compose 与 Docker 引擎分开安装。

选择镜像

Docker Hub上提供两种镜像:

镜像目录用例
casdoor-all-in-oneCasdoor + 嵌入式SQLite仅用于快速试用;不适用于生产
casdoor仅Casdoor连接到您自己的数据库;适用于生产环境

casdoor-all-in-one包含Casdoor二进制文件以及一个基于文件的SQLite数据库,并配有默认配置,因此只需一条命令即可运行Casdoor,无需任何外部依赖。 仅用于测试。

选项1:一体化(玩具数据库)

暴露端口8000并运行一体化镜像。 如果缺失,将自动拉取。

docker run -p 8000:8000 casbin/casdoor-all-in-one

Open http://localhost:8000 and sign in with the default admin: built-in/admin / 123.

选项2:带有您配置的标准镜像

:::提示 请通过环境变量传递配置,而非挂载配置文件。

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-p 8000:8000 \
casbin/casdoor:latest

:::

创建conf/app.conf(从复制);有关选项,请参阅配置文件。 然后运行:

docker run -p 8000:8000 -v /folder/of/app.conf:/conf casbin/casdoor:latest
备注

Casdoor runs as uid/gid 1000. 在使用卷挂载时(例如用于 SQLite 或其他基于文件的存储),请确保挂载路径对 UID 1000 可写,以避免``权限被拒绝错误。

简而言之:**将您的app.conf挂载到/conf/app.conf**并启动容器。 Then open http://localhost:8000 and sign in as built-in/admin / 123.

选项3:Docker Compose

将app.conf放置在与docker-compose.yml相邻的conf/目录中(可从复制;请参阅配置文件)。 启动 Casdoor 和数据库:

docker-compose up

Then open http://localhost:8000 and sign in as built-in/admin / 123.

:::注意RUNNING_IN_DOCKER</code>环境变量在docker-compose.yml中被使用,是因为数据库服务在宿主机上可通过``localhost访问,但在Casdoor容器内却无法访问。 当RUNNING_IN_DOCKER设置为真时,Casdoor会使用host.docker.internal,从而无需编辑app.conf. :::