欢迎光临
我们一直在努力

ydkn/cups 在飞牛 OS(fnOS)完整部署方案

一、文件关键点说明(你写的配置亮点 + 风险点)

亮点

  1. network_mode: host

    容器共享宿主机网卡,无需端口映射,AirPrint/avahi 局域网广播百分百正常,解决 bridge 模式苹果设备搜不到打印机的通病,家用打印首选。

  2. 多设备直通 /dev/bus/usb /dev/usb /dev

    最大限度兼容各类 USB 打印机、热插拔识别更稳定。

  3. 分离持久化目录
    • /etc/cups:打印后台配置、打印机参数
    • /var/spool/cups:打印队列缓存,分离存放避免配置目录臃肿
  4. 挂载宿主机 dbus + avahi 服务目录,局域网设备发现能力拉满

存在风险 / 冗余项

  1. devices: - /dev:/dev 权限过大

    完整直通宿主机所有硬件,存在安全隐患,日常打印仅保留 /dev/bus/usb 足够,可删除 /dev:/dev

  2. 账号变量名称错误

    ydkn/cups 镜像识别环境变量为 CUPS_ADMIN_USER / CUPS_ADMIN_PASSWORD,你写的 CUPSADMIN / CUPSPASSWORD 不生效,后台无法用该账号登录管理页

  3. 挂载 /etc/avahi/services 存在冲突风险

    host 网络模式下容器自带 avahi,挂载宿主机 avahi 目录容易出现广播冲突、重复打印机设备

  4. 未限制日志持久化,容器日志默认存在容器内,不利于排查故障

二、修正后完整版 docker-compose.yml(可直接复制使用)

yaml
version: "3.8"
services:
  cups:
    image: ydkn/cups:latest
    container_name: ydkn-cups
    restart: unless-stopped
    privileged: true
    # host网络,无需ports映射,AirPrint正常
    network_mode: host
    # USB打印机必需设备挂载,移除危险全/dev直通
    devices:
      - /dev/bus/usb:/dev/bus/usb
      - /dev/usb:/dev/usb
    volumes:
      # CUPS配置持久化
      - /vol1/1000/ydkn_cups/config:/etc/cups
      # 打印任务队列
      - /vol1/1000/ydkn_cups/spool:/var/spool/cups
      # DBus 局域网设备发现必备
      - /var/run/dbus:/var/run/dbus
      # 日志持久化(新增,方便排错)
      - /vol1/1000/ydkn_cups/logs:/var/log/cups
    environment:
      # 镜像标准识别变量,修正原变量名错误
      - CUPS_ADMIN_USER=admin
      - CUPS_ADMIN_PASSWORD=admin
      - TZ=Asia/Shanghai

三、fnOS 部署操作步骤

  1. 提前创建存储目录(SSH 执行)
mkdir -p /vol1/1000/ydkn_cups/{config,spool,logs}
  1. /vol1/1000/ydkn_cups/ 新建 docker-compose.yml,粘贴上面修正后的配置
  2. 启动容器
cd /vol1/1000/ydkn_cups
docker-compose up -d
  1. 查看运行日志,确认无报错
docker-compose logs -f ydkn-cups

四、访问 CUPS 管理面板

host 网络模式无需端口映射,直接访问:
plaintext
http://fnOS本机IP:631
https://fnOS本机IP:631
登录账号:admin / admin

五、关键使用注意事项

  1. 虚拟机 fnOS 慎用

    即使 host 网络,虚拟化 USB 直通给容器依然极易识别失败,虚拟机环境推荐系统原生 CUPS。

  2. host 模式端口占用说明

    宿主机 631 端口不能被其他服务占用(如系统原生 cups),若已装系统 cups,先停止:

    sudo systemctl stop cups
    sudo systemctl disable cups
    
  3. AirPrint 失效排查
    • 确认挂载 /var/run/dbus
    • 使用 network_mode: host(不要 bridge)
    • 重启容器:docker-compose restart cups
  4. 权限优化建议

    密码不要使用简单 admin,修改环境变量 CUPS_ADMIN_PASSWORD 为复杂密码,避免内网被未授权访问打印服务。

  5. 备份方案

    直接备份 /vol1/1000/ydkn_cups 整个文件夹,更换 NAS、重装系统后直接复用该目录启动容器,打印机配置完全保留。

六、常用运维命令

# 重启打印服务
docker-compose restart

# 停止并删除容器(配置文件保留)
docker-compose down

# 更新镜像版本
docker-compose pull && docker-compose up -d
赞(1)

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看 | 关于我们


版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《ydkn/cups 在飞牛 OS(fnOS)完整部署方案》
文章链接:http://www.077u.cn/jiaocheng/fnos/7667.html
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途,网站会员捐赠是您喜欢本站而产生的赞助支持行为,仅为维持服务器的开支与维护,全凭自愿无任何强求。
分享到

评论 抢沙发

登录

找回密码

注册