2

我是 docker 新手,但设法为自己构建了一些开发环境映像(太棒了!)。但是我对生成的图像的文件大小不太满意,所以我尝试将图像从 node-argon 图像(基于 debian-wheezy)迁移到 alpine 图像。问题是 vagrant.deb 包的安装无法正常工作。我安装了 alpine dpkg 包,但得到这些错误:

dpkg: error: failed to open package info file '/var/lib/dpkg/status' for reading: No such file or directory

我发现了一些关于这个主题的威胁,但与 alpine 安装无关,也无法解决我的问题。相关的码头线是:

FROM gliderlabs/alpine:3.3
RUN apk add --update dpkg
ENV VAGRANT_VERSION 1.8.1
ADD https://releases.hashicorp.com/vagrant/${VAGRANT_VERSION}/vagrant_${VAGRANT_VERSION}_x86_64.deb .
RUN dpkg -i vagrant_${VAGRANT_VERSION}_x86_64.deb
RUN rm vagrant_*.deb

其他人得到了这个工作 - 我的猜测是可能缺少一些构建/安装依赖项,但无法进一步得到它。任何建议都会很受欢迎。

一切顺利,弗洛里安

4

1 回答 1

4

在我们发现的问题下方的评论中,确实可以在 Alpine Linux 上使用 dpkg 安装 vagrant.deb。然而,这真的很hackish(!),最后,Alpine Linux 的大小优势并不重要,因为生成的图像大小为 2.5G =)。

这就是为什么我的回答是(我之前说过):让你的生活更轻松,如果你想安装 deb 包,请使用 Debian 或 Ubuntu 映像 :)

对于所有潜在的 Alpine 容器用户,如果您真的需要一个比普通 GNU/Linux 基础镜像小几 MB 的基础镜像,请三思。你会为这几个 MB 付出代价,因为 shell 环境很差(欢迎来到 80 年代!)并且可用包的数量要少得多。

如果您想要一个最小的容器,那么不要将分发放入容器中,将进程放入容器中!

于 2016-02-17T12:07:52.777 回答