Это команда docker-build, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
docker-build - Создайте новый образ из исходного кода в PATH
СИНТАКСИС
докер строить [--build-аргумент[=[]]] [--cpu-share[=0]] [--cgroup-родитель[=ГРУППА-РОДИТЕЛЬ]]
[--Помогите] [-f|--файл[=ПУТЬ / Dockerfile]] [--force-rm] [--изоляция[=по умолчанию]] [--без кеша]
[--тянуть] [-q|--тихий] [--рм[=правда]] [-t|--ярлык[=[]]] [-m|--объем памяти[=ПАМЯТЬ]]
[--память-своп[=ОГРАНИЧЕНИЯ]] [--shm-размер[=SHM-РАЗМЕР]] [--cpu-период[=0]] [--cpu-quota[=0]]
[--cpuset-процессор[=CPUSET-ЦП]] [--cpuset-mems[=CPUSET-MEMS]] [- предел[=[]]] ПУТЬ | URL | -
ОПИСАНИЕ
Это прочитает Dockerfile из каталога, указанного в PATH. Он также отправляет любые
другие файлы и каталоги, найденные в текущем каталоге для демона Docker. В
содержимое этого каталога будет использоваться ДОБАВИТЬ команды, найденные в Dockerfile.
Предупреждение, это отправит много данных демону Docker в зависимости от содержимого
текущий каталог. Сборка выполняется демоном Docker, а не интерфейсом командной строки, поэтому весь
контекст должен быть передан демону. Docker CLI сообщает: «Отправка контекста сборки
to Docker daemon "при отправке контекста демону.
Когда указан URL-адрес архива tarball или отдельного файла Dockerfile, контекст не отправляется
от клиента к демону Docker. В этом случае файл Dockerfile в корне
архив и остальная часть архива будут использоваться в качестве контекста сборки. Когда Git
репозиторий установлен как URL, репозиторий клонируется локально, а затем отправляется как
контекст.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
-f, --файл=ПУТЬ / Dockerfile
Путь к используемому Dockerfile. Если путь относительный, и вы
сборка из локального каталога, то путь должен быть относительно этого
каталог. Если вы строите из удаленного URL-адреса, указывающего на
tarball или репозиторий Git, тогда путь должен быть относительно корня
удаленный контекст. Во всех случаях файл должен находиться в контексте сборки.
По умолчанию используется Dockerfile.
--build-аргумент=переменная
имя и стоимость строительный аргумент.
Например, если вы хотите передать значение для http_proxy, Используйте
--build-arg = http_proxy = "http://some.proxy.url"
Пользователи передают эти значения во время сборки. Докер использует построить аргументы как
контекст среды для команд, запускаемых через файл Dockerfile. БЕГ инструкция
или для расширения переменных в других инструкциях Dockerfile. Это не значит
для передачи секретных значений. ⟨/ Ссылка / строитель / # arg⟩
--force-rm=правда|ложный
Всегда удаляйте промежуточные контейнеры, даже после неудачных сборок. По умолчанию
ложный.
--изоляция="по умолчанию"
Изоляция определяет тип технологии изоляции, используемой контейнерами.
--без кеша=правда|ложный
Не используйте кеш при построении образа. По умолчанию ложный.
--Помогите
Распечатать заявление об использовании
--тянуть=правда|ложный
Всегда пытайтесь загрузить более новую версию изображения. По умолчанию ложный.
-q, --тихий=правда|ложный
Подавить вывод сборки и распечатать идентификатор изображения в случае успеха. По умолчанию ложный.
--рм=правда|ложный
Удалите промежуточные контейнеры после успешной сборки. По умолчанию правда.
-t, --ярлыкзнак равно
Имена репозиториев (и, возможно, с тегами), которые будут применяться к результирующему изображению в
в случае успеха.
-m, --объем памяти=ПАМЯТЬ
Ограничение памяти
--память-своп=ОГРАНИЧЕНИЯ
Предельное значение, равное памяти плюс своп. Должен использоваться с -m (--объем памяти) флаг. В
обмен ОГРАНИЧЕНИЯ всегда должен быть больше, чем -m (--объем памяти) ценить.
Формат ОГРАНИЧЕНИЯ is [ ]. Единица может быть b (байты), k (килобайты), m
(мегабайты) или g (гигабайты). Если вы не укажете единицу измерения, b используется. Установите LIMIT на -1 в
включить неограниченный своп.
--shm-размер=SHM-РАЗМЕР
Размер / dev / shm. Формат . номер должно быть больше, чем 0.
Единица не является обязательной и может быть b (байты), k (килобайты), m (мегабайты) или g (гигабайты).
Если вы не укажете единицу измерения, система будет использовать байты.
Если вы полностью опустите размер, система будет использовать 64m.
--cpu-share=0
Доли ЦП (относительный вес).
По умолчанию все контейнеры получают одинаковую долю циклов ЦП.
Доли ЦП - это «относительный вес» по сравнению с настройкой по умолчанию 1024.
Это значение по умолчанию определяется здесь:
кошка /sys/fs/cgroup/cpu/cpu.shares
1024
Вы можете изменить эту пропорцию, настроив долю ЦП контейнера.
взвешивание относительно веса всех остальных работающих контейнеров.
Чтобы изменить пропорцию от 1024 по умолчанию, используйте --cpu-share
флаг, чтобы установить вес 2 или выше.
Флаг общего ресурса ЦП контейнера
{C0} 60% CPU --cpu-share = 614 (614 - это 60% от 1024)
{C1} 40% CPU --cpu-share = 410 (410 - это 40% от 1024)
Пропорция применяется только тогда, когда выполняются процессы, интенсивно использующие ЦП.
Когда задачи в одном контейнере простаивают, другие контейнеры могут использовать
оставшееся время процессора. Фактическое количество используемого процессорного времени зависит от
количество контейнеров, запущенных в системе.
Например, рассмотрим три контейнера, в одном из которых --cpu-share = 1024 и
двое других имеют --cpu-share = 512. Когда процессы во всех трех
контейнеры пытаются использовать 100% ЦП, первый контейнер получит
50% от общего времени процессора. Если вы добавите четвертый контейнер с --cpu-share = 1024,
первый контейнер получает только 33% ЦП. Остальные контейнеры
получают 16.5%, 16.5% и 33% ЦП.
Доля ЦП контейнера Отметить время ЦП
{C0} 100% --cpu-share = 1024 33%
{C1} 50% --cpu-share = 512 16.5%
{C2} 50% --cpu-share = 512 16.5%
{C4} 100% --cpu-share = 1024 33%
В многоядерной системе доли процессорного времени распределяются между процессорами.
ядра. Даже если контейнер ограничен менее чем 100% процессорного времени, он может
использовать 100% каждого отдельного ядра ЦП.
Например, рассмотрим систему с более чем тремя ядрами. Если вы начнете
контейнер {С0} --cpu-share = 512 запущен один процесс и другой контейнер
{С1} --cpu-share = 1024 запуск двух процессов, это может привести к следующему
разделение долей ЦП:
PID-контейнер ЦП Доля ЦП
100 {C0} 0 100% CPU0
101 {C1} 1 100% CPU1
102 {C1} 2 100% CPU2
--cpu-период=0
Ограничьте период CPU CFS (полностью справедливый планировщик).
Ограничьте использование ЦП контейнера. Этот флаг заставляет ядро ограничивать
использование ЦП контейнера до указанного вами периода.
--cpu-quota=0
Ограничьте квоту CPU CFS (полностью справедливый планировщик).
По умолчанию контейнеры работают с полным ресурсом ЦП. Этот флаг заставляет ядро
ограничить использование ЦП контейнера указанной вами квотой.
--cpuset-процессор=CPUSET-ЦП
ЦП, в которых разрешено выполнение (0-3, 0,1).
--cpuset-mems=CPUSET-MEMS
Узлы памяти (MEM), в которых разрешено выполнение (0–3, 0,1). Действует только на
Системы NUMA.
Например, если в вашей системе четыре узла памяти (0-3), используйте --cpuset-mems = 0,1 в
убедитесь, что процессы в вашем контейнере Docker используют память только из первых двух памяти
узлы.
--cgroup-родитель=ГРУППА-РОДИТЕЛЬ
Путь к контрольные группы под которым контейнер контрольная группа созданы.
Если путь не абсолютный, он считается относительно контрольные группы путь
процесс инициализации. Cgroups создаются, если они еще не существуют.
- пределзнак равно
Параметры Ulimit
Для получения дополнительной информации о ограничение посмотреть
⟨Https: //docs.docker.com/reference/commandline/run/#setting-ulimits-in-a-container⟩
ПРИМЕРЫ
Строительство an изображение через a Dockerfile расположенный внутри домен текущий каталог
Образы Docker можно создавать с помощью команды сборки и файла Docker:
сборка докеров.
В процессе сборки Docker создает промежуточные образы. Чтобы сохранить их, вы
должен явно установить --rm = ложь.
docker build --rm = false.
Хорошая практика - создать подкаталог со связанным именем и создать файл Dockerfile.
в этом каталоге. Например, каталог с именем mongo может содержать Dockerfile для
создать образ Docker MongoDB. Аналогичным образом, другой каталог с именем httpd может использоваться для
хранить файлы Dockerfiles для образов веб-серверов Apache.
Также рекомендуется добавлять файлы, необходимые для изображения, в подкаталог.
Затем эти файлы будут указаны с КОПИЯ or ДОБАВИТЬ инструкции в Dockerfile.
Примечание: если вы включите tar-файл (хорошая практика), Docker автоматически извлечет
содержимое tar-файла, указанного в ДОБАВИТЬ инструкция в указанный
цель.
Строительство an изображение и именования который изображение
Хорошая практика - дать имя создаваемому имиджу. Обратите внимание, что только a-z0-9-_.
следует использовать для единообразия. Здесь нет жестких правил, но лучше
рассмотрение имен.
Ассоциация -t/--ярлык Флаг используется для переименования изображения. Вот некоторые примеры:
Хотя это не очень хорошая практика, имена изображений могут быть произвольными:
docker build -t myimage.
Лучшим подходом является предоставление полностью квалифицированного и значимого репозитория, имени и тега.
(где тег в данном контексте означает квалификатор после ":"). В этом примере мы
создайте образ JBoss для репозитория Fedora и присвойте ему версию 1.0:
docker build -t fedora / jboss: 1.0.
Следующий пример предназначен для пользовательского репозитория "whenry", он использует Fedora и JBoss и дает
это версия 2.1:
docker build -t whenry / fedora-jboss: v2.1.
Если вы не предоставите тег версии, Docker назначит последний:
docker build -t whenry / fedora-jboss.
Когда вы перечисляете изображения, изображение выше будет иметь тег последний.
К изображению можно применить несколько тегов. Например, вы можете применить последний пометить
недавно созданное изображение и добавьте еще один тег, который ссылается на конкретную версию. Например, чтобы
пометить изображение как whenry / fedora-jboss: последний и когдари / Fedora-jboss: v2.1, использовать
следующие:
docker build -t whenry / fedora-jboss: последняя версия -t whenry / fedora-jboss: v2.1.
Так что переименование изображения произвольно, но следует принять во внимание полезное соглашение.
это имеет смысл для потребителей и также должно учитывать сообщество Docker
конвенций.
Строительство an изображение через a URL
Это будет клонировать указанный репозиторий GitHub из URL-адреса и использовать его в качестве контекста. В
Dockerfile в корне репозитория используется как Dockerfile. Это работает, только если
Репозиторий GitHub - это специальный репозиторий.
сборка докеров github.com/scollier/purpletest
Примечание. Вы можете установить произвольный репозиторий Git через мерзавец: // схема.
Строительство an изображение через a URL в a заархивирован контекст
Это отправит сам URL-адрес демону Docker. Демон загрузит архив
архив, распакуйте его и используйте его содержимое в качестве контекста сборки. Dockerfile в
корень архива и остальная часть архива будут использоваться в качестве контекста сборки.
Если вы пройдете -f ПУТЬ / Dockerfile вариант, система будет искать этот файл
внутри содержимого архива.
docker build -f dev / Dockerfile https://10.10.10.1/docker/context.tar.gz
Примечание: поддерживаемые форматы сжатия - xz, bzip2, gzip и identity (нет
сжатие).
Указывать изоляция technology для контейнер (--изоляция)
Этот параметр полезен в ситуациях, когда вы запускаете контейнеры Docker в Windows.
Ассоциация --isolation = опция устанавливает технологию изоляции контейнера. В Linux единственный
поддерживается по умолчанию вариант, который использует пространства имен Linux. В Microsoft Windows вы можете
укажите эти значения:
· по умолчанию: Использовать значение, указанное демоном Docker --exec-опт , Если демон приносит
не указывать технологию изоляции, Microsoft Windows использует процесс по умолчанию
значения.
· процесс: Только изоляция пространства имен.
· гипервизор: Изоляция гипервизора Hyper-V на основе разделов.
Указание --изоляция флаг без значения такой же, как установка
--isolation = "по умолчанию".
ИСТОРИЯ
Март 2014 г. Первоначально составлено Уильямом Генри (когда-то в redhat dot com) на основе
docker.com исходный материал и внутренняя работа. Июнь 2014 г., обновлено Свеном Довидейт
⟨[электронная почта защищена]⟩ Июнь 2015 г., обновлено Салли О'Мэлли ⟨[электронная почта защищена]⟩
Используйте docker-build онлайн с помощью сервисов onworks.net