Поиск по сайту:

Среди лжецов я лицемером стал, Как я от человечества устал! (аль-Маарри).

Как составить список контейнеров Docker3 мин для чтения

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
29 июля 2020
Установить Docker 1.11 на Ubuntu 16.04 LTS x64
Как вы перечисляете все док-контейнеры, присутствующие в вашей системе?

Есть два способа сделать это:

  • Использование команды docker ps (старый и популярный метод)
  • Использование команды docker container (более новый и менее известный метод)

Позвольте нам быстро перечислить команды с наиболее распространенными примерами для вашего быстрого ознакомления.

команда ps команда container команда displays
docker ps docker container ls бегущие контейнеры
docker ps -a docker container ls -a все контейнеры
docker ps
-f “status = exited”
docker container ls
-f “status = exited”
остановленные контейнеры
docker ps -q docker container ls -q ID запущенных контейнеров
docker ps -l docker container ls -l последний созданный контейнер

 

Как вы можете видеть, как команды ps и container совпадают с их вариантами.

Однако, поскольку docker хочет правильно организовать команды, они рекомендуют использовать команду docker container ls.

По этой причине мы будем использовать команду docker container ls в подробных примерах.

 

Показать работающие докеры

Без каких-либо опций вы увидите только запущенные контейнеры.

docker container ls

 

Вывод подробный:

destroyer@andreyex:~$ docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
f03e48cb07ea        ubuntu              "bash"              8 seconds ago       Up 6 seconds                            ubuntu-c-1
93f84eb0f579        alpine              "/bin/sh"           23 seconds ago      Up 22 seconds                           alp_con2

 

Если вы впервые видите этот вывод, позвольте нам объяснить различные элементы вывода:

  • Container ID – Уникальный числовой идентификатор для идентификации контейнера
  • Image – Образ Docker, который создал контейнер
  • Command – команда по умолчанию, которая выполняется при запуске контейнера
  • Created – Относительное время, когда был создан контейнер
  • Status – Состояние контейнера (будет объяснено позже)
  • Ports – Опубликованы порты контейнера
  • Name – Название контейнера. Если ничего не указано, случайное имя присваивается в любом случае.

 

Список всех контейнеров докеров

Если вы хотите увидеть все контейнеры в вашей системе, используйте опцию -a.

docker container ls -a

 

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

destroyer@andreyex:~$ docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
f03e48cb07ea        ubuntu              "bash"              37 minutes ago      Up 37 minutes                                ubuntu-c-1
93f84eb0f579        alpine              "/bin/sh"           37 minutes ago      Up 37 minutes                                alp_con2
1c1c04a84186        alpine              "bash"              38 minutes ago      Created                                      alp_con
6fbc4bf4897b        ubuntu              "/bin/bash"         2 hours ago         Exited (0) 2 hours ago                       fervent_hofstadter
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson
853e748608bc        hello-world         "/hello"            2 hours ago         Exited (0) 2 hours ago                       stoic_engelbart

 

Читать  Как: запустить/выполнить команду от имени данного/конкретного пользователя в Linux/Debian/Ubuntu/Kali Linux/RHEL/CentOS и т. д. в терминале/командной строке

Отображать только остановленные контейнеры

Если вы хотите перечислить только остановленные контейнеры, вы можете отфильтровать вывод по состоянию exited.

docker container ls --filter "status=exited"

 

Вот отфильтрованный вывод:

destroyer@andreyex:~$ docker container ls --filter "status=exited"
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
6fbc4bf4897b        ubuntu              "/bin/bash"         2 hours ago         Exited (0) 2 hours ago                       fervent_hofstadter
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson
853e748608bc        hello-world         "/hello"            2 hours ago         Exited (0) 2 hours ago                       stoic_engelbart

 

Состояние exited для остановленных контейнеров. Есть еще несколько статусов для контейнеров, которые вы можете использовать для различных целей:

  • created – Контейнер, который был создан, но не запущен
  • restarting – контейнер в процессе перезапуска
  • running – Бегущий контейнер
  • paused – контейнер, процессы которого были приостановлены
  • exited – остановленный контейнер
  • dead – Контейнер, который пытались остановить, но не удалось

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

 

Показать контейнеры, связанные с изображением

Вы можете использовать фильтры для отображения всех контейнеров, связанных с определенным изображением, только с помощью фильтра ancestor.

docker container ls -a --filter "ancestor=image_name"

 

Вот вывод, который отображает все контейнеры, связанные с образом док-станции Alpine Linux.

destroyer@andreyex:~$ docker container ls -a --filter "ancestor=alpine"
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
93f84eb0f579        alpine              "/bin/sh"           48 minutes ago      Up 48 minutes                                alp_con2
1c1c04a84186        alpine              "bash"              49 minutes ago      Created                                      alp_con
8b9565ba7661        alpine              "/bin/sh"           2 hours ago         Exited (0) 2 hours ago                       beautiful_williamson

 

Отображать только идентификатор контейнера

Вы заметили, что все вышеперечисленные команды имеют подробный вывод для контейнеров?

Если вам не нужна дополнительная информация, такая как имя контейнера, связанное изображение, его статус, вы можете использовать тихую опцию -q.

Например, если мы используем опцию -q в предыдущем примере, она дает мне только идентификаторы всех контейнеров, связанных с Alpine Linux.

destroyer@andreyex:~$ docker container ls -a -q --filter "ancestor=alpine"
93f84eb0f579
1c1c04a84186
8b9565ba7661

 

Читать  Перенаправление HTTP на HTTPS в Apache

Это удобно в таких ситуациях, как удаление всех контейнеров из образа докера.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читайте также

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close