Ubuntu 14.04 (Trusty Tahr)에서 실행중인 컨테이너를 중지하는 방법을 찾고 있는데 내가 가지고있는 유일한 정보는 Docker 실행 명령에 사용 된 이미지 이름입니다.
해당 이미지 이름과 일치하는 일치하는 모든 실행 컨테이너를 찾아 중지하는 명령이 있습니까?
답변
문제 8959 다음에 시작하는 것이 좋습니다.
docker ps -a -q --filter="name=<containerName>"
이미지 이름이 아닌 컨테이너를name
참조 하므로 koekiebox 의 답변 에서 언급 한 최신 Docker 1.9 필터 조상 을 사용해야합니다 .
docker ps -a -q --filter ancestor=<image-name>
kiril 에 의해 아래에 언급 된대로 해당 컨테이너를 제거하십시오.
stop
컨테이너도 돌려줍니다.
체인을 연결 stop
하고 rm
작업을 수행합니다.
docker rm $(docker stop $(docker ps -a -q --filter ancestor=<image-name> --format="{{.ID}}"))
답변
이전 답변은 저에게 효과가 없었지만 이것은 효과가있었습니다.
docker stop $(docker ps -q --filter ancestor=<image-name> )
답변
컨테이너 이름을 컨테이너 이름으로 설정할 수 있습니다 :
docker run -d --name <container-name> <image-name>
동일한 이미지를 사용하여 여러 컨테이너를 회전시킬 수 있으므로 컨테이너를 시작하는 좋은 방법입니다. 그런 다음이 컨테이너 이름을 사용하여 컨테이너를 중지하고 연결할 수 있습니다.
docker exec -it <container-name> bash
docker stop <container-name>
docker rm <container-name>
답변
이 코드는 이미지 centos : 6 의 모든 컨테이너를 중지 합니다 . 더 쉬운 해결책을 찾지 못했습니다.
docker ps | grep centos:6 | awk '{print $1}' | xargs docker stop
또는 더 짧습니다.
docker stop $(docker ps -a | grep centos:6 | awk '{print $1}')
답변
컨테이너 실행을 중지하는 두 가지 방법 :
1. $docker stop container_ID
2. $docker kill container_ID
다음 명령을 사용하여 컨테이너를 실행할 수 있습니다.
$docker ps
자세한 내용은 다음 링크를 참조하십시오.
답변
Docker 버전 18.09.0의 경우 형식 플래그가 필요하지 않습니다.
docker rm $(docker stop $(docker ps -a -q -f ancestor=<image-name>))
답변
이미지 이름으로 도커 컨테이너를 중지하십시오.
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}'
이미지 이름이 다른 이미지의 다른 열에 나타날 수 있으므로 문제가 있습니다