Чем команда Docker Pull отличается от команды Docker Build - PullRequest
0 голосов
/ 20 сентября 2018

Официальная документация от Docker гласит:

Сборка Docker - «Создание образа из Dockerfile»

Извлечение Docker - «Извлечение изображения или репозитория из реестра"

Ниже приведен пример Dockerfile:

FROM php:7.1.8-apache

MAINTAINER XXXX

COPY . /srv/app
COPY docker/vhosts.conf /etc/apache2/sites-available/000-default.conf

WORKDIR /srv/app

RUN docker-php-ext-install mbstring pdo pdo_mysql \
    && chown -R www-data:www-data /srv/app

Похоже, что команда build сначала загрузит образ из концентратора Docker, а затем выполнит другие действия, указанные в докере.файл.Принимая во внимание, что Docker pull просто загрузит изображение из хранилища.В некотором смысле, «тянуть» является частью «сборки».Я новичок в Docker, мне нужно подтверждение для моего понимания или позвольте мне знать, если есть что-то еще.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Если у вас есть Dockerfile для изображения, и это изображение также уже находится в каком-то хранилище, docker pull извлечет двоичную копию изображения из хранилища, тогда как docker build восстановит его из Dockerfile.

*

Пара случаев также автоматически docker pull для вас.Если у вас docker run изображение, которого у вас нет, оно будет извлечено;строка Dockerfile FROM также вытянет базовый образ, если его нет.

В вашем случае Dockerfile описывает, как создать новый образ, начиная с образа php:7.1.8-apache.Вам нужно это базовое изображение, чтобы создать свой собственный образ, и если у вас его еще нет, он будет извлечен для вас.Но то, что вы получите, будет отличаться от базового образа PHP, и, если вы не docker push отредактируете изображение где-либо, вы не сможете напрямую docker pull получить результат.

0 голосов
/ 20 сентября 2018

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

  1. Если вы строите из scratch, изображение не будет извлечено.Дополнительная информация здесь .
  2. Если изображение уже на вашем компьютере (из предыдущей версии, сборка)
...