当前位置: 首页 > 知识库问答 >
问题:

如何在docker容器中使用CUPS作为客户端?

张华池
2023-03-14

我有一个应用程序,它使用lp命令,通过将其部署到一个容器中,我发现了使用CUPS打印的问题。

Dockerfile:

FROM node:15

RUN apt-get update && \
    apt-get -y install cups cups-pdf

WORKDIR /app/

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 8080

CMD ["npm","run","proxy"]    

Docker-撰写:

version: '3'
services:
  ambiente_teste_project:
    build: .  
    ports:
      - "8080:8080"
    container_name: teste_container
    volumes:
      - /var/run/cups/cups.sock:/var/run/cups/cups.sock
    

我尝试运行lp命令,这个输出在我的计算机(LinuxUbuntu)中是一样的,两台打印机都在工作。

root@2911c9cd355e:/app# lpstat -p
printer CUPS-PDF-Printer is idle.  enabled since Wed Dec  9 21:40:59 2020
printer iR1730-1740-1750-UFRII-LT now printing iR1730-1740-1750-UFRII-LT-57.  enabled since Wed Dec  9 21:29:55 2020
        The printer is not responding.

尝试在两台打印机上打印时,我在HostServer(Linux Ubuntu)上打开了“打印机”,并意识到其中没有一台打印机正在接收任何作业。

lp -o landscape -o fit-to-page -o media=A4 src/assets/large.pdf -d CUPS-PDF-Printer

有人建议我和客户合作吗?

共有1个答案

连俊智
2023-03-14

您可以在Docker Hub上使用CUPS映像之一。例如:https://hub.docker.com/r/olbat/cupsd

 类似资料:
  • 问题内容: 通常,docker容器使用 root 用户运行。我想使用其他用户,使用docker的USER指令没问题。但是该用户应该能够在容器内使用 sudo 。该命令丢失。 这是用于此目的的简单Dockerfile: 运行此容器,我以用户’docker’登录。当我尝试使用sudo时,找不到命令。所以我尝试使用以下方法在Dockerfile中安装 sudo 软件包 这导致 无法找到包sudo 问题答

  • 问题内容: 似乎在容器中没有“ acl”的情况下挂载了文件系统,因此“ setfacl”将不起作用。而且它也不会让我重新安装它,甚至无法运行’df -h’。 我需要setfacl,因为我以root身份拥有我网站上的所有文件,并且授予Web服务器用户仅对几个目录(如缓存,日志等)的写权限。 我能做什么? 问题答案: 好消息是Docker支持ACL。 在早期版本中,Docker使用了一个不支持它们的名

  • 通常,docker容器使用用户root运行。我想使用一个不同的用户,这是没有问题的使用Docker的用户指令。但该用户应该能够在容器内使用sudo。缺少此命令。 下面是一个用于此目的的简单Dockerfile: 运行这个容器时,我使用用户'docker'登录。当我尝试使用sudo时,找不到该命令。所以我尝试在我的Dockerfile中安装sudo包,使用 这将导致无法定位包sudo

  • 在浏览了SOF的以下链接后,我仍然面临着这个问题,没有任何推理或解决方案。 参考资料: 连接到mysql docker容器 Mysql 5.7在我的本地计算机中作为容器运行。服务器启动后,使用root用户或创建的新用户连接到服务器时,会在localhost/0.0.0/127.0.0.1上发生故障。即使在禁用firewald之后,连接也会失败,并出现相同的错误。我可能对这种连接做了一些非常错误的事

  • 我正在尝试使用这张图片https://hub.docker.com/r/ibmcom/cloudant-developer/对于docker compose,当我使用原始指令时,它可以工作,但是当我将其转换为docker compose格式时,它无法正常工作,我看到了仪表板页面,但它是空的,似乎已损坏。 原始运行命令: 我创建的撰写文件: 谢谢你的帮助。 另外,我确实手动执行了许可协议的命令

  • 我有一个docker容器,里面运行着一些进程(uwsgi和celery)。我想为这些进程创建一个celery用户和一个uwsgi用户,以及一个它们都将属于的worker组,以便分配权限。 我尝试将和添加到我的Dockerfile中,但这会导致问题,因为这些命令提示输入(我已经发布了下面构建的响应)。 将用户添加到Docker容器中以便为在容器中运行的工作者设置权限的最佳方法是什么? 我的Docke