🐳 Узнаем, как долго работает контейнер Docker

Сколько времени работал контейнер Docker

by itisgood

Это может пригодиться, если вы выполняете многочасовые команды и хотите посмотреть, сколько времени они заняли впоследствии.

Вы можете запустить docker container inspect <container>, чтобы получить ответ в формате JSON, который содержит кучу атрибутов о контейнере.

В верхней части вывода находится объект State, который включает в себя StartedAt и FinishedAt.

Как работать с контейнерами Docker

Важно отметить, что если вы запускаете контейнер с параметром –rm, то после его остановки вам не будет доступен <контейнер>, поэтому если вы планируете измерять время работы контейнера, лучше не использовать этот флаг.

Вы можете найти остановленные контейнеры с помощью docker container ls –all.

🐳 Как удалить все Docker контейнеры с помощью одной команды

Вот быстрый способ разобрать только атрибуты started и finished:

docker container inspect <container> | grep dAt
          "StartedAt": "2023-12-09T18:24:38.502596208Z",
          "FinishedAt": "2023-12-09T18:52:07.907443462Z",

В качестве альтернативы, если вы планируете написать сценарий или создать псевдоним, вы можете использовать фильтрацию шаблонов Go, чтобы контролировать вывод этих атрибутов:

docker container inspect <container> --format "{{ .State.StartedAt }},{{ .State.FinishedAt }}"

2023-12-09T18:24:38.502596208Z,2023-12-09T18:52:07.907443462Z

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

Или, может быть, вы забыли использовать команду time, или у вас слишком много команд, выполняемых параллельно с &, и вывод time будет слишком запутанным, чтобы понять, какая из них относится к той или иной команде.

см. также:

 

You may also like

Leave a Comment