Эта команда дает мне список запущенных идентификаторов контейнеров:
docker ps -q
Есть ли команда для получения списка имен контейнеров?
Эта команда дает мне список запущенных идентификаторов контейнеров:
docker ps -q
Есть ли команда для получения списка имен контейнеров?
docker ps --format "{{.Names}}"
Вы можете комбинировать docker ps
с docker inspect
, как я уже упоминал ранее в " Как вам список контейнеров в Docker.io? ":
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc) | cut -c2-
Как прокомментировал Крис Стрычински, он будет печатать имена с префиксом " /
".
[email protected]:~$ docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
/k8s_kubernetes-dashboard_kubernetes-dashboard-d9d8f48bc-vz59c_kube-system_b2abc584-730a_0
/k8s_POD_kubernetes-dashboard-d9d8f48bc-vz59c_kube-system_b2abc584-_0
/k8s_metrics-server_metrics-server-6fbfb84cdd-sjrgr_kube-system_e147bf91-7218-11e8-8266_0
/k8s_POD_metrics-server-6fbfb84cdd-sjrgr_kube-system_e147bf91-7218-11e8-8266-00155d380143_0
Осмотреть разоблачить внутренние детали того, как докер обрабатывает контейнер.
Имена имеют префикс с их родителем и/
== "демон докера".
Вот почему каждое имя будет иметь этот префикс.
Это будет более важно, когда в игру вступят вложенность и мультихост./
Является правильным для команды проверки.
Отсюда | cut -c2-
| cut -c2-
.
Совсем недавно (июнь 2017 года) появилось предложение (номер мобильного /29997) для удаления символа " /
":
ведущий слеш существует по историческим причинам (в основном из-за устаревших ссылок на контейнеры)
До сих пор (июнь 2018 г.) ни один PR не был полностью реализован, чтобы избавиться от лидирующего символа " /
".
Вы можете сделать это с помощью этой команды, вдохновленной этим вопросом:
docker inspect --format='{{.Name}}' $(sudo docker ps -aq --no-trunc)
Вы можете использовать следующую команду для отображения имен контейнера
docker ps -a --format "table {{.ID}}\t{{.Names}}"
Вот ссылка для получения дополнительной информации о команде ps https://docs.docker.com/engine/reference/commandline/ps/
Вы также можете сделать это с помощью awk:
docker ps -a | awk '{print $NF}'
$NF
указывает на последний столбец ввода, который в docker ps -a
является Имена.
Мое требование - получить имя пользователя контейнера для входа в контейнер (мне нужно использовать docker exec -it --user
для входа в контейнер). Используйте docker inspect
+ container id
и grep
user
или name
, чтобы получить имя пользователя контейнера и войти в контейнер.
Пример:
# docker inspect 5791b95933ef |grep -i user