
mkuf/klipper此镜像由 prind项目 构建和使用。
Klipper是一款3D打印机固件。它将通用计算机的算力与一个或多个微控制器结合,充分发挥硬件性能。关于使用Klipper的优势,可参考其功能文档。
引用自 [**]
Klipper需要访问主机设备,建议以特权模式运行并挂载主机的/dev目录。非特权模式可能因MCU重置后设备名变更导致功能异常(参考相关问题)。
printer.cfgrun通过docker run命令
bashdocker run \ --privileged \ -v /dev:/dev \ -v $(pwd)/run:/opt/printer_data/run \ -v $(pwd)/printer.cfg:/opt/printer_data/config/printer.cfg \ mkuf/klipper:latest
通过docker compose配置
yamlservices: klipper: image: mkuf/klipper:latest privileged: true volumes: - /dev:/dev - ./printer.cfg:/opt/printer_data/config/printer.cfg - ./run:/opt/printer_data/run
将GCODE发送器指向 run 目录下的 klipper.tty 文件即可。
若需搭配Moonraker使用,两者需共享包含套接字的目录。Moonraker镜像的详细使用说明见其README.md。
moonraker.conf 和 printer.cfgrun(共享套接字)和 gcode(存储GCODE文件)通过docker run命令
先启动Klipper:
bashdocker run \ --privileged \ -v /dev:/dev \ -v $(pwd)/run:/opt/printer_data/run \ -v $(pwd)/gcode:/opt/printer_data/gcodes \ -v $(pwd)/printer.cfg:/opt/printer_data/config/printer.cfg \ mkuf/klipper:latest
再启动Moonraker:
bashdocker run \ -v $(pwd)/run:/opt/printer_data/run \ -v $(pwd)/gcode:/opt/printer_data/gcodes \ -v $(pwd)/moonraker.conf:/opt/printer_data/config/moonraker.conf \ -p 7125:7125 \ mkuf/moonraker:latest
通过docker compose配置
yamlservices: klipper: image: mkuf/klipper:latest privileged: true volumes: - /dev:/dev - ./printer.cfg:/opt/printer_data/config/printer.cfg - ./run:/opt/printer_data/run - ./gcode:/opt/printer_data/gcodes moonraker: image: mkuf/moonraker:latest ports: - "7125:7125" volumes: - ./moonraker.conf:/opt/printer_data/config/moonraker.conf - ./run:/opt/printer_data/run - ./gcode:/opt/printer_data/gcodes
| 项目 | 说明 |
|---|---|
| 用户 | klipper (1000:1000) |
| 工作目录 | /opt |
| 入口命令 | /opt/venv/bin/python klipper/klipper/klippy.py |
| 启动参数 | -I printer_data/run/klipper.tty -a printer_data/run/klipper.sock printer_data/config/printer.cfg |
| 标签 | 说明 | 是否静态 |
|---|---|---|
latest | 指向最新的Klippy运行镜像。根据上游代码变更,可能24小时内更新版本。 | 否 |
<git描述>(如 v0.12.0-114-ga77d0790) | 对应上游仓库的特定git描述版本,如 Klipper3d/klipper:v0.12.0-114-ga77d0790。 | 是 |
*-tools | 包含MCU代码编译所需工具的Debian镜像。 | 是 |
*-hostmcu | klipper_mcu二进制文件的运行镜像。 | 是 |
| 目标 | 说明 | 是否推送 |
|---|---|---|
build | 拉取上游代码并构建Python虚拟环境。 | 否 |
build-simulavr | 基于mcu目标,拉取并构建simulavr(用于无硬件测试)。 | 否 |
build-hostmcu | 基于mcu目标,构建klipper_mcu二进制文件。 | 否 |
run | 默认的Klippy运行镜像。 | 是 |
tools | MCU代码编译工具镜像。 | 是 |
hostmcu | klipper_mcu二进制文件的运行镜像。 | 是 |
容器内提供 /opt/health.py 脚本用于健康检查。
注意:在Docker中启用健康检查可能显著增加CPU占用。测试中,每30秒执行一次检查会使容器CPU占用翻倍,每5秒执行则增至6倍。低功耗主机可能因此出现资源不足或异常行为。
脚本功能:
info端点readyCompose配置示例:
yamlservices: klipper: healthcheck: test: ["python3", "/opt/health.py"] interval: 30s
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务