linuxserver/kimaiLinuxServer.io团队呈现的此容器具有以下特点:
可在以下渠道找到我们:
Kimai是专业级时间跟踪应用,免费开源。它适用于自由职业者以及拥有数十或数百用户的企业。Kimai专为跟踪项目时间而构建,具备众多高级功能,包括但不限于:
JSON API、发票生成、数据导出、多计时器和打卡模式、标签、多用户-多时区-多语言(现有30多种翻译)、通过SAML/LDAP/数据库认证、带TOTP的双因素认证(2FA)、可自定义角色和团队权限、响应式设计、用户/客户/项目特定费率、高级搜索与筛选、资金和时间预算、高级报告、插件支持等。
!kimai
我们利用Docker清单实现多平台支持。更多信息可参考Docker文档和我们的公告。
直接拉取lscr.io/linuxserver/kimai:latest即可获取适合您架构的正确镜像,也可通过标签拉取特定架构镜像。
此镜像支持的架构:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
需将以下值替换为您的默认值:
SELECT VERSION();获取版本envDATABASE_URL=mysql://your_db_user:your_db_pass@your_db_host:3306/your_db_name?charset=your_db_charset&serverVersion=your_db_version
shelldocker exec -it kimai console kimai:user:create your_username admin@example.com ROLE_SUPER_ADMIN
通过http://<您的IP>:80访问Web界面,更多信息请查看Kimai初始设置。
以下提供docker-compose和docker cli两种方式帮助您创建容器。
[!NOTE] 除非参数标记为"可选",否则均为必填项,必须提供值。
yaml--- services: kimai: image: lscr.io/linuxserver/kimai:latest container_name: kimai environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - DATABASE_URL=mysql://your_db_user:your_db_pass@your_db_host:3306/your_db_name?charset=your_db_charset&serverVersion=your_db_version - TRUSTED_PROXIES=127.0.0.1/32 #可选 volumes: - /path/to/kimai/config:/config ports: - 80:80 - 443:443 restart: unless-stopped # 此容器需要单独运行外部应用 # MariaDB mariadb: image: lscr.io/linuxserver/mariadb:latest container_name: mariadb environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD - MYSQL_DATABASE=your_db_name #可选 - MYSQL_USER=your_db_user #可选 - MYSQL_PASSWORD=your_db_pass #可选 volumes: - path_to_data:/config ports: - 3306:3306 restart: unless-stopped
bashdocker run -d \ --name=kimai \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e DATABASE_URL=mysql://your_db_user:your_db_pass@your_db_host:3306/your_db_name?charset=your_db_charset&serverVersion=your_db_version \ -e TRUSTED_PROXIES=127.0.0.1/32 `#可选` \ -p 80:80 \ -p 443:443 \ -v /path/to/kimai/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/kimai:latest # 此容器需要单独运行外部应用 docker run -d \ --name=mariadb \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD \ -e MYSQL_DATABASE=your_db_name `#可选` \ -e MYSQL_USER=your_db_user `#可选` \ -e MYSQL_PASSWORD=your_db_pass `#可选` \ -p 3306:3306 \ -v path_to_data:/config \ --restart unless-stopped \ lscr.io/linuxserver/mariadb:latest
容器通过运行时传递的参数进行配置(如上述示例)。参数格式为<外部>:<内部>,例如-p 8080:80表示将容器内80端口映射到主机8080端口。
| 参数 | 功能 |
|---|---|
-p 80:80 | HTTP图形界面 |
-p 443:443 | HTTPS图形界面 |
-e PUID=1000 | 用户ID - 详见下方说明 |
-e PGID=1000 | 组ID - 详见下方说明 |
-e TZ=Etc/UTC | 指定时区,查看时区列表 |
-e DATABASE_URL=mysql://your_db_user:your_db_pass@your_db_host:3306/your_db_name?charset=your_db_charset&serverVersion=your_db_version | 配置数据库连接,详见应用设置说明 |
-e TRUSTED_PROXIES=127.0.0.1/32 | 若使用反向代理,设置其IP或网络CIDR,使Kimai信任其头信息 |
-v /config | 持久化配置文件 |
可通过特殊前缀FILE__从文件设置任何环境变量。
示例:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
这会根据/run/secrets/mysecretvariable文件内容设置环境变量MYVAR。
所有镜像均支持通过可选参数-e UMASK=022覆盖容器内服务的默认umask设置。请注意,umask不是chmod,它基于其值减去权限而非添加。使用前请了解umask。
使用卷(-v参数)时,主机OS与容器间可能出现权限问题。通过指定用户PUID和组PGID可避免此问题。
确保主机上的卷目录归指定用户所有,权限问题将迎刃而解。
此处PUID=1000和PGID=1000,通过id your_user命令获取您的ID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
我们提供多种Docker Mods以启用容器额外功能。上方动态徽章显示此镜像可用mods及通用mods。
容器运行时进入shell:
bashdocker exec -it kimai /bin/bash
实时监控容器日志:
bashdocker logs -f kimai
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' kimai
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/kimai:latest
大多数镜像为静态、版本化,需更新镜像并重建容器以更新内部应用。除特殊说明外,不建议或支持在容器内更新应用。请参考应用设置部分查看是否推荐更新。
以下是更新容器的说明:
更新镜像:
所有镜像:
bashdocker-compose pull
单个镜像:
bashdocker-compose pull kimai
更新容器:
所有容器:
bashdocker-compose up -d
单个容器:
bashdocker-compose up -d kimai
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/kimai:latest
停止运行中的容器:
bashdocker stop kimai
删除容器:
bashdocker rm kimai
使用上述相同docker run参数重建容器(若正确映射主机文件夹,/config文件夹和设置将保留)
清理旧镜像:
bashdocker image prune
[!TIP] 推荐使用Diun获取更新通知。不推荐或支持自动更新容器的工具。
如需为开发或自定义修改本地镜像:
bashgit clone https://github.com/linuxserver/docker-kimai.git cd docker-kimai docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/kimai:latest .
可使用lscr.io/linuxserver/qemu-static在x86_64硬件上构建ARM变体,反之亦然:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,可使用-f Dockerfile.aarch64指定Dockerfile。
DATABASE_URL设置说明探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务