问题标签 [distroless]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
58 浏览

docker - distroless dockerfile 导致超过 1 个图像

我只是使用多步 distroless 映像为 postgres 创建一个 dockerfile。由于图像的安全性和大小,我尝试学习 distroless。这是我的码头文件:

构建图像后,最终结果是 4 个图像,而不是 1 个,如下图所示 在此处输入图像描述

我是 docker 新手,据我所知 1 个 dockerfile 应该产生 1 个图像,谁能解释为什么会这样?

0 投票
1 回答
150 浏览

docker - 尝试将现有 docker 文件转换为使用 distroless 映像时出现 pip 错误

我有一个dockerfile我正在使用python:3.9.2-slim-buster的基础图像,我正在做以下事情。

我想将其转换为使用 distroless 映像。我试过但它不起作用。我找到了这些资源

我知道这是不正确的,但这是我在遵循这些资源后想出的

它给出了以下错误:

我也想过进入RUN pip install SomePackage第一阶段,但不知道该怎么做。

任何帮助,将不胜感激。谢谢

编辑: docker images输出

0 投票
0 回答
139 浏览

pyenchant - ImportError:未找到“附魔”C 库,可能需要安装

我正在尝试使用 gcr.io./distroless/python3-debian10 使用基本映像作为 debian:buster-slim 创建一个无发行版容器

我已经在基础镜像的 python 虚拟环境中安装了 enchant,然后我将虚拟环境复制到了 distroless 镜像,但是附魔库文件没有被复制到 distroless 容器中。

在调试时我发现,附魔已正确安装在基础映像容器中并且工作正常,但它没有反映在 distroless 容器中。

这是错误消息:

我从错误消息中转到了这个建议的 url(https://pyenchant.github.io/pyenchant/install.html),因为他们已经指定安装已经安装的 pyenchant。而且我还安装了 libenchant,附魔。

这是供参考的代码:

注意:我在 requirements.txt 文件中包含了 pyenchant(version :3.2.1)

0 投票
0 回答
29 浏览

python - 将 jdk 与 python venv 集成

我正在尝试在我的应用程序的无发行版 docker 容器上将 jdk 与 python venv 集成

我无法在 distroless 容器中创建的 venv 中导入 java 模块

如何将 jdk 模块导出到 distroless 容器中,以便应用程序正常工作

这是我在运行应用程序时遇到的错误

0 投票
2 回答
151 浏览

java - 在 distroless 环境中将可自定义的选项传递给 GraalVM 映像执行

对于上下文,我正在构建一个编译为 GraalVM 本机映像的 Java 应用程序,该映像在 Kubernetes 中的无发行版 docker映像上运行。

我一直在尝试做一些相当简单的事情并碰壁:我想通过-XmxNNN. 为此,我想用来运行应用程序的选项将保存在环境变量中。问题的出现是由于使用了 distroless 映像 - 它没有 bash,因此ENTRYPOINT /application $OPTIONS不起作用。

是否有 GraalVM 本身支持的环境变量,或任何其他设置方式?

我不想:

0 投票
1 回答
25 浏览

docker - What is the value of $JAVA_HOME with gcr.io/distroless/java?

What is the value of $JAVA_HOME with gcr.io/distroless/java images?

0 投票
1 回答
25 浏览

kubernetes - 如何在 kubernetes 上运行的 distroless 容器上进行 java 应用程序的线程转储?

我的集群上运行了许多 java 应用程序,我想为几个微服务进行线程转储。但由于这些是无发行映像,我在考虑临时容器,但不确定是否可以将卷附加到此类容器。有人可以帮忙吗?

问候, 安贾尼

0 投票
1 回答
17 浏览

python - 用于 distroless 的 pyrender 容器多阶段构建

我有以下多阶段构建将 pyrender 添加到 distroless continer

如果我在里面运行 pyrenderdebian:11-slim它一切正常但是当我将库移动到 distroless 并尝试运行时import pyrender我得到

或者

我确实将环境变量设置为os.environ['PYOPENGL_PLATFORM'] = 'egl'

关于我做错了什么的任何指示?我想用 distroless 而不是 debian 映像运行它。

0 投票
1 回答
56 浏览

docker - 为什么将多阶段 Docker 构建中的基本映像从 distroless 切换到 alpine 会导致“exec 用户进程导致:没有这样的文件或目录”?

我正在按照https://docs.docker.com/language/golang/build-images/上的指南学习为 Go 应用程序进行多阶段 Docker 构建的最佳方法。我克隆了回购:

我在指南底部附近运行了命令来构建图像:

我还运行了自己的命令来从映像运行临时容器:

这工作得很好。我在终端中看到了应用程序的输出。但是,我想将第二层图像从指南 ( gcr.io/distroless/base-debian10) 中的 Distroless 图像切换到alpine:3. 当我进行更改、构建新映像并尝试使用上面的相同命令运行新映像时,我收到有关用户不存在的错误:

这对我来说很有意义。听起来 Distroless 映像有该用户,而 Alpine 映像没有。所以我USER nonroot:nonroot从 Dockerfile 中删除了。所以此时,我的 Dockerfile 的后半部分如下所示:

然后我构建了一个新图像并尝试使用上面的相同命令运行新图像。这一次,我收到以下错误:

我无法解决此错误。为什么以这种方式切换我的基本图像会导致此错误?

0 投票
0 回答
10 浏览

java - gcr.io/distroless/java-debian10:11 的替代品,以便可以缓解 CVE-2022-25315 之类的漏洞问题

使用 gcr.io/distroless/java-debian10:11 创建的 Docker 镜像会产生诸如https://security-tracker.debian.org/tracker/CVE-2022-25315之类的漏洞。

有没有办法缓解这个漏洞?