堆垛工,
我用Docker来装我的应用程序。在下面的阶段中,我试图使用UPX打包它。
FROM alpine:3.8 AS compressor
# Version of upx to be used(without the 'v' prefix)
# For all releases, see https://github.com/upx/upx/releases
ARG UPX_VERSION=3.94
# Fetch upx, decompress it, make it executable.
ADD https://github.com/upx/upx/releases/download/v${UPX_VERSION}/upx-${UPX_VERSION}-amd64_linux.tar.xz /tmp/upx.tar.xy
RUN tar -xJOf /tmp/upx.tar.xy upx-${UPX_VERSION}-amd64_linux/upx > /usr/local/bin/upx \
&& chmod +x /usr/local/bin/upx
COPY --from=builder /usr/local/bin/ace /usr/local/bin/ace
RUN /usr/local/bin/upx --overlay=strip --best /usr/local/bin/ace问题是,当我构建映像时,会出现以下错误:
命令'/bin/sh -c /usr/local/bin/upx --overlay=条带-最佳/usr/local/bin/ace‘返回一个非零代码: 127
由于某些原因,容器不承认upx为可执行文件!有人能给我指点吗?
发布于 2018-08-16 17:33:23
原来UPX有一个apk包。更简单的安装方法是:
apk add upx发布于 2018-08-14 13:52:18
您所拥有的存档只是文件,所以您不能按名称对其进行地址处理。如果您提取了整件事情(这只是文件),它就能工作。将Dockerfile中的对应行更改为:
RUN tar -xJOf /tmp/upx.tar.xy upx-${UPX_VERSION}-amd64_linux > /usr/local/bin/upx \请注意,我从归档名称中删除了文件名。
发布于 2019-03-24 13:41:57
加上截至2019年3月的apk add --no-cache upx=3.95-r1。
https://stackoverflow.com/questions/51842119
复制相似问题