Почему это создает висячий образ? - PullRequest
0 голосов
/ 22 мая 2019

У меня есть Dockerfile, который выглядит следующим образом:

FROM openjdk:8 as stage0
WORKDIR /opt/docker
COPY opt /opt
USER root
RUN ["chmod", "-R", "u=rX,g=rX", "/opt/docker"]
RUN ["chmod", "u+x,g+x", "/opt/docker/bin/sapmock"]

FROM openjdk:8
USER root
RUN id -u demiourgos728 2> /dev/null || (( getent group 0 || groupadd -g 0 root ) && useradd --system --create-home --uid 1001 --gid 0 demiourgos728 )
WORKDIR /opt/docker
COPY --from=stage0 --chown=demiourgos728:root /opt/docker /opt/docker
EXPOSE 8080
USER 1001:0
ENTRYPOINT ["/opt/docker/bin/sapmock"]
CMD []

Затем я создал образ следующим образом:

docker build -t sapmock .
Sending build context to Docker daemon  38.83MB
Step 1/15 : FROM openjdk:8 as stage0
8: Pulling from library/openjdk

Сборка прошла успешно.Когда я перечисляю созданные изображения, он показывает:

 docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
sapmock             latest              b0c10315185f        About a minute ago   664MB
<none>              <none>              c9210e522d87        About a minute ago   703MB
openjdk             8                   bec43387959a        2 weeks ago          625MB

Что такое <none> изображений, почему они были созданы?

Ответы [ 2 ]

1 голос
/ 22 мая 2019

Две строки FROM создают два изображения как часть многоступенчатой ​​сборки, но в конце вы помечаете только одно из них. Другое изображение остается в вашем кэше сборки, что позволяет будущим сборкам работать быстрее и повторно использовать слои из предыдущих сборок.

1 голос
/ 22 мая 2019

Когда вы создаете новое изображение Docker, если оно имеет то же имя, что и существующее изображение Docker, старое изображение не удаляется, а вместо этого превращается в «висячее изображение» с именем и тегом <none>

Вы можете удалить оборванные изображения с помощью docker images -f dangling=true

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...