如何删除Docker中间映像

时间:2020-03-08 09:32:04

标签: docker

我创建了一个泊坞窗映像,使我可以在GPU上使用RStudio运行Tensorflow。

docker文件如下:

FROM tensorflow/tensorflow:latest-gpu


MAINTAINER "Ben"

ENV CRAN_URL https://cloud.r-project.org/
ENV DISTRIB_NAME disco-cran35

ENV DEBIAN_FRONTEND=noninteractive

RUN set -e \
    echo "deb ${CRAN_URL}bin/linux/ubuntu ${DISTRIB_NAME}/" \
    | tee -a /etc/apt/sources.list \
    && apt-get -y update \
    && apt-get install -y --no-install-recommends --allow-unauthenticated \
    r-base \
    r-base-dev \
    gdebi-core \
    libcurl4-openssl-dev \
    && apt-get -y autoremove \
    && apt-get clean

COPY rstudio-server-1.2.5033-amd64.deb /tmp/rstudio.deb

RUN set -e \
    && gdebi -n /tmp/rstudio.deb \
    && rm -rf /tmp/* \
    && apt-get -y autoremove \
    && apt-get clean

RUN set -e \
    && useradd -m -d /home/rstudio rstudio \
    && echo rstudio:rstudio \
    | chpasswd \
    && apt-get -y autoremove \
    && apt-get clean

EXPOSE 8787

CMD ["/usr/lib/rstudio-server/bin/rserver", "--server-daemonize=0", "--server-app-armor-enabled=0"]

在构建映像之前,我下载了rstudio-server-1.2.5033-amd64.deb文件并将其放置在与docker文件相同的文件夹中。

我使用以下图像构建图像:

nvidia-docker build --rm -f deep-learning-r.dockerfile --tag rdev:0.1 .

该映像正确构建,但是我有很多中间映像没有被删除并占用了磁盘空间(我想):

$ docker image ls -a
REPOSITORY              TAG                 IMAGE ID            CREATED              SIZE
rdev                    0.1                 ea1ed3cac83b        18 seconds ago       5.2GB
<none>                  <none>              be5bb119b557        19 seconds ago       5.2GB
<none>                  <none>              edb790d02942        20 seconds ago       5.2GB
<none>                  <none>              438f58c4e831        23 seconds ago       5.2GB
<none>                  <none>              00c43a9ccb32        41 seconds ago       4.38GB
<none>                  <none>              0f0f4e16879d        43 seconds ago       4.34GB
<none>                  <none>              661b40cf3675        About a minute ago   4.09GB
<none>                  <none>              9b5f6f63a93e        About a minute ago   4.09GB
<none>                  <none>              4f6e541b4d79        About a minute ago   4.09GB
<none>                  <none>              de9347c3f0e0        About a minute ago   4.09GB
tensorflow/tensorflow   latest-gpu          3c0df9ad26cc        8 weeks ago          4.09GB

我了解需要Tensorflow图像,但是标签和存储库中似乎有很多冗余图像。

运行

docker images -f "dangling=true" -q

不返回任何内容。

我真的需要那些中间图像吗?我该如何摆脱它们?

0 个答案:

没有答案