Сборка OSX Docker: как просмотреть полный вывод сборки? (--progress=просто не решение!)

Я только что получил MacBook с работы и использую его для создания образов докеров. Обычно сборка докера показывает полный журнал (т. е. ls -la показывает cwd). По крайней мере, это то, к чему я привык на своей Linux-машине.

Однако на macbook отображается только краткий обзор: (фактический вывод консоли)

 => [internal] load build definition from Dockerfile                                                                                                                                                                                          0.0s
 => => transferring dockerfile: 40B                                                                                                                                                                                                           0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                             0.0s
 => => transferring context: 2B                                                                                                                                                                                                               0.0s
 => [internal] load metadata for docker.io/library/debian:stretch-slim                                                                                                                                                                        1.1s
 => [internal] load build context                                                                                                                                                                                                             0.0s
 => => transferring context: 58B                                                                                                                                                                                                              0.0s
 => [1/16] FROM docker.io/library/debian:stretch-slim@sha256:eb436e834ba416c45359aa0709febef17fdea65ab6a8f4db12016aa2fa63be0c                                                                                                                 0.0s
 => CACHED [2/16] RUN apt-get update && apt-get upgrade -y                                                                                                                                                                                    0.0s
 => CACHED [3/16] RUN apt-get install wget -y                                                                                                                                                                                                 0.0s
 => CACHED [4/16] RUN wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz                                                                                                                           0.0s
 => CACHED [5/16] RUN tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz                                                                                                                                                                    0.0s
 => CACHED [6/16] RUN mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql-5.7.22                                                                                                                                                                     0.0s
 => CACHED [7/16] RUN ls -la                                                                                                                                                                                                                  0.0s
 => CACHED [8/16] RUN mv mysql-5.7.22 /usr/local/                                                                                                                                                                                             0.0s
 => CACHED [9/16] RUN groupadd mysql                                                                                                                                                                                                          0.0s
 => CACHED [10/16] RUN useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql                                                                                                                                                         0.0s
 => CACHED [11/16] RUN chown -R mysql /usr/local/mysql-5.7.22/                                                                                                                                                                                0.0s
 => CACHED [12/16] RUN chgrp -R mysql /usr/local/mysql-5.7.22/                                                                                                                                                                                0.0s
 => CACHED [13/16] COPY my.cnf /etc/                                                                                                                                                                                                          0.0s
 => CACHED [14/16] COPY startup.sh .                                                                                                                                                                                                          0.0s
 => CACHED [15/16] RUN ls -la                                                                                                                                                                                                                 0.0s
 => exporting to image                                                                                                                                                                                                                        0.0s
 => => exporting layers                                                                                                                                                                                                                       0.0s
 => => writing image sha256:d93a0842352d0980be6ba4b57fdd6cad18818b7527bedecfb706e416b7fb6062                                                                                                                                                  0.0s
 => => naming to docker.io/library/customsql

Шаги 7 и 15 должны показать мне результаты, но они просто опущены. (Я знаю, что это кешированный результат, но он не появился, когда я изменил Dockerfile и перестроил слой).

настройка --progress=plain не принесла пользы. На самом деле он просто изменил цвет с фиолетового на белый (HideThePainHarold.jpg).

Любая помощь будет оценена.

Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
12
0
4 007
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Сам нашел ответ: по-видимому, сборка Docker на osx автоматически настраивается для использования buildkit, что маскирует большую часть вывода отладки по умолчанию.

Я удалил его из конфигурации JSON, и он работает.

Спасибо, это спасло мою задницу. Без вывода сборки по умолчанию сложно отлаживать сложные шаги в процессе сборки докеров.

ranma2913 01.03.2021 16:49

Удалил что именно? Какой джсон? демон.json?

chocalaca 10.03.2021 01:11

@chocalaca Это опция {"buildkit": true} в daemon.json. В MacOs вы можете найти его сейчас под значком Docker на рабочем столе (кит) -> настройки -> Docker Engine.

kosciej16 13.04.2021 08:32

@ user3361462 Спасибо!

chocalaca 19.04.2021 22:53

Просто установите export DOCKER_BUILDKIT=0 в вашей оболочке....

Если вы используете buildx для работы с несколькими архитектурами, то это не сработает. Вместо этого используйте эту переменную env... export BUILDKIT_PROGRESS=plain

simonslocombe 16.12.2021 12:16

Я не могу вспомнить 2021 год, но в 2023 году формат plain был довольно подробным, обычно по 3 строки в каждой строке, так как он регистрирует строку, хэш и сообщение о завершении. BUILDKIT_PROGRESS является либоauto (по умолчанию), plain или tty, ни один из них не возвращает прежнее поведение «простого» простого вывода. Жалко или чего-то не хватает?

Eric Platon 11.05.2023 05:24

В дополнение к Simons Answer, если вы ищете постоянную настройку.

Чтобы отключить Docker BuildKit по умолчанию, установите для конфигурации демона в функции /etc/docker/daemon.json значение true и перезапустите демон:

{ "features": { "buildkit": false } }

Другие вопросы по теме