Ответ 1
Вы можете использовать awk
и grep
для фильтрации указанного идентификатора контейнера. Например:
docker ps | grep "docker-mariadb:1.0.1" | awk '{ print $1 }'
Это напечатает идентификатор вашего контейнера.
Я пытаюсь получить идентификатор контейнера экземпляра docker, используя команду docker process, но когда я пытаюсь использовать фильтр по имени, он отлично подходит для меня.
sudo -S docker ps -q --filter="name=romantic_rosalind"
Идентификатор контейнера результатов:
3c7e865f1dfb
Но когда я фильтрую с использованием изображения, я получаю все идентификаторы контейнера экземпляра:
sudo -S docker ps -q --filter="image=docker-mariadb:1.0.1"
Результаты Идентификаторы контейнеров:
5570dc09b581
3c7e865f1dfb
Но я хочу получить только идентификатор контейнера mariadb.
Как получить идентификатор контейнера процесса докера, используя фильтр в качестве изображения?
Вы можете использовать awk
и grep
для фильтрации указанного идентификатора контейнера. Например:
docker ps | grep "docker-mariadb:1.0.1" | awk '{ print $1 }'
Это напечатает идентификатор вашего контейнера.
Используйте "предок" вместо "изображения", который отлично работает. Пример:
sudo -S docker ps -q --filter=ancestor=docker-mariadb:1.0.1
Команда Docker, возможно, добавила ее в последние версии: http://docs.docker.com/engine/reference/commandline/ps/
С помощью docker container ls
для листинга контейнеров (который является заменой для docker ps
) было бы:
docker container ls | grep "docker-mariadb:1.0.1" | awk '{ print $1 }'
вы также можете использовать знак *
(если необходимо) следующим образом:
docker container ls | grep "docker-mariadb:*" | awk '{ print $1 }'
См. Https://docs.docker.com/engine/reference/commandline/container_ls/
docker ps -a | awk '{ print $1,$2 }' | grep imagename | awk '{print $1 }'
Это потрясающе. если вам нужно, вы можете добавить фильтр запуска изображений только одного stsatus, например, ниже
docker ps -a --filter=running | awk '{ print $1,$2 }' | grep rulsoftreg:5000/mypayroll/cisprocessing-printdocsnotifyconsumer:latest | awk '{print $1 }'
Здесь можно изучить различные варианты фильтров
https://docs.docker.com/v1.11/engine/reference/commandline/ps/