
mkuf/moonrakerMoonraker是一个基于Python 3的Web服务器,它公开API,客户端应用程序可通过这些API与3D打印固件Klipper交互。Klippy主机与Moonraker之间通过Unix域套接字进行通信。Tornado用于提供Moonraker的服务器功能。
_引自[***]
Moonraker需要Klipper才能运行。有关如何运行Klipper镜像的信息,请参见该镜像的README.md。
两个容器需要共享它们的run卷,以便能够通过Klipper的Unix套接字进行通信。配置Moonraker使用/opt/printer_data/run/klipper.sock作为Klipper的UDS地址。
创建moonraker.conf和printer.cfg以及目录run和gcode,然后运行容器。
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 docker 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
yamlservices: klipper: image: mkuf/klipper:latest privileged: true volumes: - /dev:/dev - ./printer.cfg:/opt/printer_data/conf/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/conf/moonraker.conf - ./run:/opt/printer_data/run - ./gcode:/opt/printer_data/gcodes
| 项目 | 描述 |
|---|---|
| 用户 | moonraker (1000:1000) |
| 工作目录 | /opt |
| 入口点 | /opt/venv/bin/python moonraker/moonraker/moonraker.py |
| 命令 | -d /opt/printer_data/ |
| 端口 | 描述 |
|---|---|
7125/tcp | 默认Web API端口 |
| 卷 | 描述 |
|---|---|
/opt/printer_data/run | Klipper生成的运行时文件的默认位置。用于访问klipper.sock,即与Klipper通信的Unix套接字 |
/opt/printer_data/config | 存放moonraker.conf的配置目录 |
/opt/printer_data/gcodes | 存储上传的GCODE文件 |
/opt/printer_data/logs | Klipper和Moonraker的日志目录 |
| 标签 | 描述 | 静态 |
|---|---|---|
latest | 指向最新的运行时镜像。可能会在24小时内指向新构建,具体取决于上游仓库的代码更改 | 否 |
<git description>例如: v0.8.0-314-gaadff0d | 指向上游仓库中的特定git描述。例如:arksine/moonraker:v0.8.0-314-gaadff0d | 是 |
| 目标 | 描述 | 是否推送 |
|---|---|---|
build | 拉取上游代码库并构建Python虚拟环境 | 否 |
run | 默认运行时镜像 | 是 |
容器内每5秒执行一次/opt/health.sh。
注意,在Docker中启用健康检查可能会显著增加CPU使用率。
在测试中,当每30秒执行一次健康检查时,容器的CPU使用率会翻倍;每5秒执行一次时,使用率会增加六倍。
这可能会导致低功耗主机上的资源短缺和意外行为
该脚本执行以下操作:
/server/info端点truereadyCompose示例:
yamlservices: moonraker: healthcheck: test: ["bash", "/opt/health.sh"] interval: 30s
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务