首页 > 解决方案 > dockerhub.com 的 docker 基础镜像中的“ADD file ... in /”是什么意思

问题描述

我正在尝试在Dockerhub找到合适的基础镜像,但我不确定带有标签的镜像是否Nvidia/cuda:11.1.1-base-ubuntu20.04包含ubuntu20.04环境。如果答案是肯定的,为什么我ubuntu在它的Dockerfile. 以及有什么用ADD file ... 在此处输入图像描述

标签: docker

解决方案


我假设您正在谈论这个 cuda 图像:https ://hub.docker.com/layers/nvidia/cuda/11.1.1-devel-ubuntu20.04/images/sha256-2b02390a7988c592578466083a1353fa8bb815167f05c44282014c60044352c6?context=explo

您看不到对父图像的引用,因为FROM不是图层。在 Dockerhub 中,您只能看到层。

FROM命令包括基础映像中的所有层。您正在考虑的第一层包含在 Ubuntu 映像中。

你可以在这里找到模板Dockerfilehttps ://gitlab.com/nvidia/container-images/cuda/-/blob/master/templates/ubuntu/base-dockerfile.j2

然后你可以在dockerhub中看到第6层(LABEL)和第7层(RUN)对应的模板层。以上所有图层都包含在基础(父)图像中

LABEL maintainer "NVIDIA CORPORATION <cudatools@nvidia.com>"

RUN apt-get update && apt-get install -y --no-install-recommends \
{% if cuda.os.version in ["18.04", "20.04"] %}
    gnupg2 curl ca-certificates && \
    curl -fsSL {{ cuda.repo_url }}/7fa2af80.pub | apt-key add - && \
    echo "deb {{ cuda.repo_url }} /" > /etc/apt/sources.list.d/cuda.list && \
    {% if cuda.use_ml_repo %}
    echo "deb {{ cuda.ml_repo_url }} /" > /etc/apt/sources.list.d/nvidia-ml.list && \
    {% endif %}
    apt-get purge --autoremove -y curl \
{% elif cuda.os.version == "16.04" %}
    ca-certificates apt-transport-https gnupg-curl && \
    NVIDIA_GPGKEY_SUM=d1be581509378368edeec8c1eb2958702feedf3bc3d17011adbf24efacce4ab5 && \
    NVIDIA_GPGKEY_FPR=ae09fe4bbd223a84b2ccfce3f60f4b3d7fa2af80 && \
    apt-key adv --fetch-keys {{ cuda.repo_url }}/7fa2af80.pub && \
    apt-key adv --export --no-emit-version -a $NVIDIA_GPGKEY_FPR | tail -n +5 > cudasign.pub && \
    echo "$NVIDIA_GPGKEY_SUM  cudasign.pub" | sha256sum -c --strict - && rm cudasign.pub && \
    echo "deb {{ cuda.repo_url }} /" > /etc/apt/sources.list.d/cuda.list && \
    {% if cuda.use_ml_repo %}
    echo "deb {{ cuda.ml_repo_url }} /" > /etc/apt/sources.list.d/nvidia-ml.list && \
    {% endif %}
    apt-get purge --auto-remove -y gnupg-curl \
{% endif %}
    && rm -rf /var/lib/apt/lists/*


在此处输入图像描述


推荐阅读