从docker容器内部打印

从docker容器内部打印,docker,cups,Docker,Cups,随着大量GUI应用程序被移植到docker,从docker容器中打印到cups的最佳方式是什么 注意:我不希望从容器内部运行cups,因为这打破了与docker相关的单一服务模式。在完成关于如何实现此目标的调查工作后进行自我记录 使用基于Ubuntu的docker主机安装cups套接字非常有效…ish(acroread无法填充打印机),但是使用Redhat主机时失败 ... -v /var/run/cups:/var/run/cups:ro ... 填充cups client.conf似乎是一

随着大量GUI应用程序被移植到docker,从docker容器中打印到cups的最佳方式是什么


注意:我不希望从容器内部运行cups,因为这打破了与docker相关的单一服务模式。

在完成关于如何实现此目标的调查工作后进行自我记录

使用基于Ubuntu的docker主机安装cups套接字非常有效…ish(acroread无法填充打印机),但是使用Redhat主机时失败

...
-v /var/run/cups:/var/run/cups:ro
...
填充cups client.conf似乎是一个更好的解决方案

cat /tmp/client.conf

#The ServerName directive specifies sets the remote server 
# that is to be used for all client operations. That is, it 
# redirects all client requests to the remote server. The 
# default port number is 631 but can be overridden by adding
# a colon followed by the desired port number to the value.
# The default is to use the local server ("localhost").
ServerName <DOCKER0 BRIDGE IP>
我还必须确保cups服务器将绑定到docker0网桥,并允许其他设备访问cups服务器:

...
Listen *:631
...
<Location />
  Order allow,deny
  Allow all
</Location>
...
。。。
听*:631
...
命令允许,拒绝
允许所有
...

一旦cups重新启动,cups client.conf传递到容器中,我就能够按预期打印。

从docker启动参数中,您似乎在主机上创建了一个
client.conf
文件,位于
/tmp/client.conf
,然后将其装入容器中的
/etc/cups/client.conf
(只读)。您是要打印到docker容器还是从docker容器打印到主机?只需查看一些文档,似乎不推荐使用client.conf。您应该在容器中本地安装CUPS服务器,然后从本地服务器打印到远程CPU服务器。看起来没有一种方法可以解决这个问题,即“单一服务范式”。无论如何,php+apache容器已有先例。
...
Listen *:631
...
<Location />
  Order allow,deny
  Allow all
</Location>
...