Docker在生成时找不到包(Wkhtmltopdf)

xu3bshqb  于 2022-10-04  发布在  Docker
关注(0)|答案(3)|浏览(242)

编辑

在进行故障排除时,我收到不同的错误:

...
Err:1 http://deb.debian.org/debian bullseye InRelease
  Temporary failure resolving 'deb.debian.org'
...

我猜这与我运行的防火墙设置(Nfables)有关
docker run busybox nslookup google.com给了我
;; connection timed out; no servers could be reached所以扩展坞与外部没有连接?

系统

开发环境:Ubuntu 22.04
生产环境:debian 10.12 64bit / Linux 4.19.0-20-amd64

我的节点后台文件夹中的Dockerfile

FROM node:slim

# Install wkhtmltopdf

RUN apt-get update
RUN apt-get install -y wkhtmltopdf

RUN npm install -g pm2@latest

WORKDIR /var/api

COPY . .

RUN npm i

EXPOSE 10051-10053

# Start PM2 as PID 1 process

ENTRYPOINT ["pm2-runtime"]
CMD ["process.json"]

在我的dev系统(Ubuntu 22.04)上构建这个文件时,它工作得很好。

但是,将它部署到我的服务器上并让它构建,我会得到这样的输出:

Building backend
Sending build context to Docker daemon  159.2kB
Step 1/10 : FROM node:slim
 ---> 6c8b32c67190
Step 2/10 : RUN apt-get update
 ---> Using cache
 ---> b28ad6ee8ebf
Step 3/10 : RUN apt-get install -y wkhtmltopdf
 ---> Running in 2f76d2582ac0
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package wkhtmltopdf
The command '/bin/sh -c apt-get install -y wkhtmltopdf' returned a non-zero code: 100
ERROR: Service 'backend' failed to build : Build failed

我尝试了什么

  • 在我的服务器上运行apt-get install -y wkhtmltopdf solo可以很好地安装程序包。
  • /etc/apt/sources.list添加了不同的回购
  • 我知道它的包https://packages.debian.org/buster/wkhtmltopdf(?)
  • 一些故障排除。
2jcobegt

2jcobegt1#

根据Docker Docs的说法:
在RUN语句中单独使用apt-get更新会导致缓存问题,并且后续的apt-get安装指令会失败。

因此,对于您的情况,您应该这样做:

RUN apt-get update && apt-get install -y wkhtmltopdf

不是:

RUN apt-get update
RUN apt-get install -y wkhtmltopdf
von4xj4u

von4xj4u2#

我找到了解决方案,问题是nfables和docker。Docker将iptabLes规则添加到规则集中,我所要做的就是:

  • 使用IP和IPv6表,而不是net
  • 完全按照iptabes中的方式命名所有链:输入、输出和转发

来源:https://ehlers.berlin/blog/nftables-and-docker/

5lwkijsr

5lwkijsr3#

我没有修复问题,而是下载并安装了.deb,在我的例子中使用gdebi,但您也可以使用dpkg

RUN echo "### Install wkhtmltopdf ###" 
    && wget -nv -O /tmp/wkhtmltopdf.deb https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb 
    && gdebi --non-interactive /tmp/wkhtmltopdf.deb

相关问题