
https://github.com/anujdatar/cups-docker
Run a CUPS print server on a remote machine to share USB printers over WiFi. Built primarily to use with Raspberry Pis as a headless server, but there is no reason this wouldn't work on amd64 machines. Tested and confirmed working on a Raspberry Pi 3B+ (arm/v7) and Raspberry Pi 4 (arm64/v8).
Container packages available from Docker Hub and Github Container Registry (ghcr.io)
anujdatar/cupsghcr.io/anujdatar/cupsQuick start with default parameters
shdocker run -d -p 631:631 --device /dev/bus/usb --name cups anujdatar/cups
Customizing your container
shdocker run -d --name cups \ --restart unless-stopped \ -p 631:631 \ --device /dev/bus/usb \ -e CUPSADMIN=batman \ -e CUPSPASSWORD=batcave_password \ -e TZ="America/Gotham" \ -v <persistent-config-folder>:/etc/cups \ anujdatar/cups
Note: :P make sure you use valid TZ string, this is just a joke. Also changing the default username and password is highly recommended.
port -> default cups network port 631:631. Change not recommended unless you know what you're doingdevice -> used to give docker access to USB printer. Default passes the whole USB bus /dev/bus/usb, in case you change the USB port on your device later. change to specific USB port if it will always be fixed, for eg. /dev/bus/usb/001/005.Optional parameters
name -> whatever you want to call your docker image. using cups in the example above.volume -> adds a persistent volume for CUPS config files if you need to migrate or start a new container with the same settingsEnvironment variables that can be changed to suit your needs, use the -e tag
| # | Parameter | Default | Type | Description |
|---|---|---|---|---|
| 1 | TZ | "America/New_York" | string | Time zone of your server |
| 2 | CUPSADMIN | admin | string | Name of the admin user for server |
| 3 | CUPSPASSWORD | password | string | Password for server admin |
yamlversion: "3" services: cups: image: anujdatar/cups container_name: cups restart: unless-stopped ports: - "631:631" devices: - /dev/bus/usb:/dev/bus/usb environment: - CUPSADMIN=batman - CUPSPASSWORD=batcave_password - TZ="America/Gotham" volumes: - <persistent-config-path>:/etc/cups
You should now be able to access CUPS admin server using the IP address of your headless computer/server [] or whatever. If your server has avahi-daemon/mdns running you can use the hostname, [] (IP and hostname will vary, these are just examples)
If you are running this on your PC, i.e. not on a headless server, you should be able to log in on http://localhost:631
Based on the work done by RagingTiger: https://github.com/RagingTiger/cups-airprint
以下是 anujdatar/cups 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务