Поиск документации полей, используемых в аргументе `--format` команд Docker [duplicate]

Как вы, наверное, уже знаете, Java не имеет возможности перечислять все пакеты или классы в каждом пакете. Поэтому вы должны сделать это «жестким» способом. Опции:

  1. Используйте инструмент, например grep, для поиска аннотации. Преимущество: быстрая, простая. Недостатки: можно вернуть ложные срабатывания (например, классы, в которых комментируется аннотация).
  2. Скомпилируйте код и обработайте результат с помощью javap. Это работает на уровне байт-кода [*]. Он дает точные результаты, но вывод javap на самом деле не предназначен для автоматической обработки.
  3. Используйте библиотеку байт-кода, например ASM . Не для слабонервных, но он также позволяет вам получить доступ к другим данным (например, реализованные интерфейсы, поля и т. Д.) В отношении аннотации.
  4. Последняя опция: Eclipse использует свой собственный компилятор Java, который может создавать АСТ от Java-кода (даже если код не компилируется). Преимущество над ASM: вы бесплатно получаете модель для Java-кода. Делает определенные операции более простыми. Но так легко настроить. См. мой блог для примера .

[*]: аннотация должна иметь Retention.RUNTIME для этого.

1
задан mark 8 September 2015 в 15:27
поделиться

2 ответа

Вы просто делаете docker inspect container_id, и у вас есть почти полный список.

Имейте в виду, что существует иерархия, поэтому вы можете делать

docker inspect -f '{{ .State.Running }}' 21d

, который может показать

true

или

docker inspect -f '{{ .State.StartedAt }}' 21d

, который может отображать

2015-09-03T08:08:42.204866274Z

Что-то вроде

docker inspect -f '{{ .Config.Env }}' 21d

может вернуть список

См. также справочное сообщение об этом subject

http://container-solutions.com/docker-inspect-template-magic/

1
ответ дан user2915097 16 August 2018 в 01:33
поделиться
  • 1
    Мне очень жаль, что для этого не было страницы документов или чего-то еще, но вашего ответа будет достаточно. Благодаря! – mark 2 November 2015 в 04:35

Действительные заполнители для --format доступны в https://docs.docker.com/engine/reference/commandline/ps/#formatting

. Для полноты, это то, что он говорит прямо сейчас для v1.13:

  • .ID: Идентификатор контейнера
  • .Image: Идентификатор изображения
  • .Command: Цитированная команда
  • .CreatedAt: Время создания контейнера.
  • .RunningFor: Истекшее время с момента запуска контейнера.
  • .Ports: Открытые порты.
  • .Status: Состояние контейнера.
  • .Size: Размер контейнера.
  • .Names: Названия контейнеров.
  • .Labels: все метки, назначенные контейнеру.
  • .Label: значение конкретной метки для этого контейнера. Например, "com.docker.swarm.cpu"
  • .Mounts: Имена томов, установленных в этом контейнере.
  • .Networks: Имена сетей, прикрепленных к этому контейнеру.
0
ответ дан RobM 16 August 2018 в 01:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: