Зупинка контейнера докера за назвою зображення:
imagename='mydockerimage'
docker stop $(docker ps | awk '{split($2,image,":"); print $1, image[1]}' | awk -v image=$imagename '$2 == image {print $1}')
Зупинка контейнера докера за назвою зображення та тегом:
imagename='mydockerimage:latest'
docker stop $(docker ps | awk -v image=$imagename '$2 == image {print $1}')
Якщо ви створили зображення, можете додати до нього мітку і відфільтрувати запущені контейнери за міткою
docker ps -q --filter "label=image=$image"
Ненадійні методи
docker ps -a -q --filter ancestor=<image-name>
не завжди працює
docker ps -a -q --filter="name=<containerName>"
фільтрує за назвою контейнера, а не за назвою зображення
docker ps | grep <image-name> | awk '{print $1}'
проблематично, оскільки ім'я зображення може відображатися в інших стовпцях для інших зображень