gpt4 book ai didi

docker - Emscripten “incoming”安装异常大

转载 作者:行者123 更新时间:2023-12-02 19:13:16 25 4
gpt4 key购买 nike

我使用emsdk在Ubuntu 14.04 Docker容器上安装了Emscripten,如下所示:

emsdk install emscripten-incoming
emsdk install clang-incoming-64bit

安装成功完成,并且一切工作正常,尽管后来我注意到Docker镜像占用了大约12 GB的硬盘。
当我使用Emscripten的master分支时,它仅重约2GB。
将图片上传到服务器时,这导致我出现问题。
关于安装的大尺寸,我能做些什么吗?

编辑:
这是我使用的Dockerfile:
FROM ubuntu:14.04

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update
RUN apt-get upgrade -y

RUN apt-get install -y cmake
RUN apt-get install -y ninja-build
RUN apt-get install -y python2.7
RUN apt-get install -y default-jre
RUN apt-get install -y git
RUN apt-get install -y python
RUN apt-get install -y g++
RUN apt-get install -y nodejs
RUN apt-get install -y nodejs-legacy

# Download emsdk
RUN apt-get install -y curl
RUN cd /tmp && curl 'https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz' | tar xvz

# Install emsdk
RUN /tmp/emsdk_portable/emsdk update
RUN /tmp/emsdk_portable/emsdk install emscripten-incoming
RUN /tmp/emsdk_portable/emsdk install clang-incoming-64bit
RUN /tmp/emsdk_portable/emsdk activate emscripten-incoming

ENV PATH /tmp/emsdk_portable:$PATH
ENV PATH /tmp/emsdk_portable/clang/fastcomp/build_master_64/bin:$PATH
ENV PATH /tmp/emsdk_portable/emscripten/incoming:$PATH

ENV EMSCRIPTEN /tmp/emsdk_portable/emscripten/incoming

RUN apt-get install -y python-yaml

编辑:
这是以前使用Emscripten的master分支的Dockerfile。
唯一的区别是Emscripten分支(并且我将安装移至/ usr / local / emscripten)。
我刚刚制作了这张图片,它的重量约为2GB。
FROM ubuntu:14.04

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update
RUN apt-get upgrade -y

RUN apt-get install -y cmake
RUN apt-get install -y ninja-build
RUN apt-get install -y python2.7
RUN apt-get install -y default-jre
RUN apt-get install -y git
RUN apt-get install -y python
RUN apt-get install -y g++
RUN apt-get install -y nodejs
RUN apt-get install -y nodejs-legacy

# Download emsdk
RUN apt-get install -y curl
RUN mkdir -p /usr/local/emscripten
RUN cd /usr/local/emscripten && curl 'https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gz' | tar xvz

# Install emsdk
RUN /usr/local/emscripten/emsdk_portable/emsdk update
RUN /usr/local/emscripten/emsdk_portable/emsdk install emscripten-master
RUN /usr/local/emscripten/emsdk_portable/emsdk install clang-master-64bit
RUN /usr/local/emscripten/emsdk_portable/emsdk activate emscripten-master

ENV PATH /usr/local/emscripten/emsdk_portable:$PATH
ENV PATH /usr/local/emscripten/emsdk_portable/clang/fastcomp/build_master_64/bin:$PATH
ENV PATH /usr/local/emscripten/emsdk_portable/emscripten/master:$PATH

ENV EMSCRIPTEN /usr/local/emscripten/emsdk_portable/emscripten/master

RUN apt-get install -y python-yaml

最佳答案

就一般减小图像大小而言,您可以做很多事情:

  • 考虑使用debian镜像代替ubuntu镜像,它应该可以满足您的目的,并且要小得多。
  • 不要RUN apt-get upgrade -y。而是通过拉下基础图像的新版本并在需要时重建来更新图像。
  • 将所有apt-get install内容放到同一行,然后使用rm -rf /var/lib/apt/lists/删除不需要的文件,例如:
    RUN apt-get update \
    && apt-get install -y cmake \
    ninja-build \
    ...
    && rm -rf /var/lib/apt/lists/*
  • 摆脱任何不必要的依赖关系或使用较小的版本;您真的需要完整的g++和两个版本的python吗?
  • 查看是否可以在一个容器中构建脚本,然后将二进制文件复制到新容器中。这样,您可以放弃构建依赖项。或者,您可以在同一RUN指令中安装构建依赖关系,构建脚本并删除依赖关系。这有点混乱,但是我注意到this emscripten Dockerfile做到了。

  • 但是,我尤其无法减小Emscripten的大小。

    关于docker - Emscripten “incoming”安装异常大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29255821/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com