Остановить док-контейнер по имени изображения:
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}'
проблематично, так как имя изображения может появляться в других столбцах для других изображений