铁威马通过Docker容器实现Airprint 打印服务器功能

有关 Docker 的使用讨论。

版主: TerraSupportTMsupportTMjack

hnytkeok
帖子: 95
注册时间: 2020年 1月 28日 星期二 5:37 pm

铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 hnytkeok »

买来Nas已有一年有余了,一直想要打印服务器的功能,所以一至很努力的啊,本教程可使您的铁威马变身打印服务器,使角落里的USB打印机变为网络打印机。

由于Docker镜像(我使用的镜像文件为olbat/cupsd)可定制性高,可以很方便的安装驱动和软件,所以用铁威马系统的Docker容器,挂载NAS上的打印机,实现局域网打印机共享和移动打印需求。家里一台Win10台式机、两台Win7笔记本,一台华为Mate30手机均测试成功,最终实现局域网中的共享,包括手机、电脑无线共享打印,是一台真正的打印服务器。

使用环境:X86Nas 我的型号为f2-421;镜像为 olbat/cupsd ,一台非常老旧且嘎吱嘎吱响的HP LaserJet 1022。安装完成后在win10 ,笔记本电脑、手机上均测试通过 。使USB打印机立马成为网络打印机。

先发一张图片:
2470129057.jpg
点一根烟开始教程,本教程不敢保证为最优配置,但保证一定能成功,因为我一直就这样用着。

一、下载镜像文件

1、docker pull olbat/cupsd:latest --下载最新版本的olbat/cupsd(不到一分钟左右,没啥可说的)

二、新建三个挂载文件夹,结构为:

/mnt/md0/appdata/docker/airprint

/mnt/md0/appdata/docker/airprint/config

/mnt/md0/appdata/docker/airprint/avahi
2.jpg
三、烟也吸完了,开始运行镜像了 这一步很关键,我下面解释一下,为了让大家看清楚命令行,我上传一张图片!

docker run -d --name=airprint --net="host" --privileged=true -e TZ="Asia/Shanghai" -p 631:631 -v /mnt/md0/appdata/docker/airprint/config/:/config -v /dev:/dev -v /mnt/md0/appdata/docker/airprint/avahi/:/etc/avahi/services -v /var/run/dbus:/var/run/dbus olbat/cupsd
3.jpg
上面容器名为airprint,网络为host(不要使用bridge),端口为631 用户名和密码均为默认的print(记下来,一会儿要用)
查看一下容器运行情况,可以看到已可以正常运行了!


四、在浏览器中运行(注意要用https://来访问)

https://Nas ip:631
5.jpg
看到可以访问了设置页面了,实际上教程到这里已经完了,因为下面的就是安装打印机驱动了,windonw共享啊什么的,没什么可说的了,但为了教程的完整性,我继续!!在来一根烟吧!

五、开始增加打印机,点击界面上的Administration,再点击Add print 输入密码,这里的用户名和密码均为print(小写)。可以看到系统已经发现打印机了(我这里是使用的一台HP LaserJet 1022)。我们选择USB的打印机,点击继续。
6.jpg
六、把打印机的描述、位置、名字填写上,最后记得勾选共享这台打印机就可以了。
7.jpg
七、驱动系统已帮我们选出,选择后点击增加打印机
8.jpg
八、然后再次对打印机进行设置,这里要注意的是打印机的纸张一定要选择对,要不然会出现一些莫名其妙的问题!我这里选择的是A4
9.jpg
九、设置完毕,打印测试页,正常运行!
10.jpg
十、在Windows上连接共享打印机(以win10为例),在控制面板中点击添加打印机,选择我需的打印机未列出,单击按名称选择打印机,这里要输入的地址就是Web页上的地址http://192.168.3.101:631/printers/HP_LaserJet_1022(注意这里不能用https),点击下一步。
11.jpg
十一、这一步要安装驱动程序,Win10的驱动比较全,直接选择就可以了。
12.jpg
十二、查看打印机已安装成功,打印测试页,可以正常打印。无线笔记本连接也正常,台式机有线连接的也正常!
13.jpg
十三、手机共享打印机,打印正常!
1897143949.jpg
到这里为至,打印机共享已全部安装完毕,测试正常,无线连接、手机连接,都可以正常打印,在这里要注意的是:

1、本连接共享使用的端口为631。

2、在使用网页安装打印机时使用的是https://Nas ip:631,(使用http://Nas ip:631访问也能安装打印机,但共享后不能打印,不知为何),但在使用Windows共享连接时要用http://

3、运行docker镜像时网络要选择host

4、增加打印机时使用的用户名和密码均为print

写这个教程将近两个小时,如您刚好有需要,最后又帮到您了,给我点个赞吧!
为什么使用这个镜像olbat/cupsd,因这个镜像的驱动特别的全!
hnytkeok
帖子: 95
注册时间: 2020年 1月 28日 星期二 5:37 pm

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 hnytkeok »

自已发的贴子,不能编辑 不知为何,少一张图片补上:
678.jpg
头像
mad1986
帖子: 45
注册时间: 2020年 6月 5日 星期五 9:06 pm

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 mad1986 »

弱弱的问下这个怎么解决 stopped "Filter failed"
hnytkeok
帖子: 95
注册时间: 2020年 1月 28日 星期二 5:37 pm

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 hnytkeok »

mad1986 写了: 2021年 4月 1日 星期四 10:13 pm 弱弱的问下这个怎么解决 stopped "Filter failed"
应该是驱动没有安装正确!
头像
guangtou
帖子: 3
注册时间: 2021年 9月 14日 星期二 9:40 am

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 guangtou »

大佬,nas重启以后,打印机就没有了,是怎么回事?
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 Meikle »

挖个坟,设置的好好的,都能使用了,重启nas后就不能用了,进页面后只能显示第一个页面,点任何一个超链接都是“未找到”,重新安装亦是如此,有大神能解答一下吗?万分感谢!
F2-221 6G MAPL0304V20 TOS 7
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 Meikle »

{L_BUTTON_AT}Meikle
NAS系统是TOS4.2.40
F2-221 6G MAPL0304V20 TOS 7
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 Meikle »

删除容器、删除镜像,ssh重新拉取部署又可以用了,但是重启nas后又不行了,哪位大佬能帮忙解答一下
F2-221 6G MAPL0304V20 TOS 7
头像
wifisky
帖子: 278
注册时间: 2020年 11月 24日 星期二 10:39 pm
China

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 wifisky »

{L_BUTTON_AT}Meikle

加上自启动就行了:

--restart always
NAS发烧友
头像
Meikle
帖子: 237
注册时间: 2023年 3月 20日 星期一 8:49 pm
China

Re: 铁威马通过Docker容器实现Airprint 打印服务器功能

帖子 Meikle »

就是自启动的,重启NAS就坏掉了
F2-221 6G MAPL0304V20 TOS 7
回复

回到 “Docker”