我试着用Docker测试pip install
个JAX,我发现使用它只会放大Docker图像的大小.目前镜像大小为4.82 GB.
我确保在安装包时通过--no-cache-dir
次绕过缓存.虽然这确实缩小了规模,但规模仍然是不合理的巨大.
这是我的文件档案-
FROM ubuntu:22.04
WORKDIR /app
RUN apt-get update && apt-get install -y \
libosmesa6-dev \
sudo \
wget \
curl \
unzip \
gcc \
g++
ENV PATH="/root/miniconda3/bin:${PATH}"
ARG PATH="/root/miniconda3/bin:${PATH}"
RUN mkdir -p ~/miniconda3
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
RUN bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
RUN rm -rf ~/miniconda3/miniconda.sh
RUN ~/miniconda3/bin/conda init bash
RUN conda init
RUN pip install --no-cache-dir --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
我就是这样建造的-
docker build -t tbd_jax .
当我开到docker images
英里的时候,我得到了这个-
REPOSITORY TAG IMAGE ID CREATED SIZE
tbd_jax latest 812292e2264e 7 minutes ago 4.82GB
在做了docker history --no-trunc tbd_jax:latest
次之后-
SIZE COMMENT
sha256:812292e2264e4340b7715956824055d7409f9546f8dfa54ccad1da056febf300 8 minutes ago RUN |1 PATH=/root/miniconda3/bin:/root/miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /bin/sh -c pip install --no-cache-dir --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html # buildkit 3.54GB buildkit.dockerfile.v0
我能做些什么来缩小尺寸吗?我对Docker和Linux是个新手,所以请原谅我的迟钝.