728x90
개요
Docker를 사용하다 보면 여러 컨테이너를 한꺼번에 중지하거나 삭제해야 하는 상황이 자주 발생합니다.
일반적으로 각 컨테이너의 ID를 확인하고 stop과 rm 명령어로 하나씩 처리하게 되는데, 실행 중인 컨테이너가 많을 경우 이 작업은 매우 번거롭고 시간이 많이 소요됩니다.
이러한 불편함을 해결해주는 편리한 명령어가 바로 'docker stop $(docker ps -q)'입니다. 이 명령어 하나로 실행 중인 모든 컨테이너를 한 번에 중지할 수 있습니다.
컨테이너 한번에 중지 : $(docker ps -q)란 ❓
docker stop $(docker ps -q)
실행 중인 모든 컨테이너의 ID를 가져오는 명령어입니다. 이 명령어가 어떻게 동작하는지 하나씩 살펴보겠습니다.
docker ps
- 실행 중인 컨테이너 목록을 조회하는 명령어
-q 옵션
- 컨테이너 ID만 출력하도록 하는 옵션
$ ()
- 명령어의 실행 결과를 다른 명령어의 인자로 사용하게 해주는 리눅스의 명령어 치환(Command substitution) 문법
즉, docker ps -q로 실행 중인 모든 컨테이너의 ID를 가져오고, 이 ID들을 docker stop 명령어의 인자로 전달하여 실행합니다.
$(docker ps -q) 확인해보기
docker ps 명령어로 실행 중인 컨테이너 목록을 확인했을 때, 위와 같이 여러 컨테이너가 실행 중이라면 각각의 컨테이너를 중지하기 위해 ID를 하나씩 확인하고 입력해야 합니다.
이는 ID를 잘못 입력할 수 있는 실수의 위험이 있고, 실행 중인 컨테이너가 많아질수록 더욱 번거로워집니다.
이 때 "$(docker ps -q)"명령어를 사용하여 컨테이너를 쉽게 중지할 수 있습니다.
컨테이너 한번에 삭제하기 : $(docker ps -qa)란 ❓
docker rm -f $(docker ps -qa)
docker ps - a
- docker ps : 모든 컨테이너 목록을 조회하는 명령어
- -a 옵션: 중지된 컨테이너를 포함한 모든 컨테이너 표시
-q 옵션
- 컨테이너 ID만 출력하도록 하는 옵션
$ ()
- 명령어의 실행 결과를 다른 명령어의 인자로 사용하게 해주는 리눅스의 명령어 치환(Command substitution) 문법
즉, docker ps -qa로 중지된 컨테이너를 포함하여 모든 컨테이너의 ID를 가져오고, 이 ID들을 docker rm -f명령어의 인자로 전달하여 실행합니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2024.12.04 - JIT 컴파일러를 통한 자바의 성능 최적화 (0) | 2024.12.04 |
---|---|
[TIL, 일일 회고] 2024.12.03 - BufferedReader 사용 시 예외처리가 필요한 이유 (IOException, throws) (0) | 2024.12.03 |
[TIL, 일일 회고] 2024.12.01 - Docker COPY 명령어의 경로 지정 방식 이해하기: COPY .. (0) | 2024.12.01 |
[TIL, 일일 회고] 2024.11.30 - VsCode > Docker 확장 프로그램 알아보기 (0) | 2024.11.30 |
[TIL, 일일 회고] 2024.11.29 - CS 간단 정리 : TCP와 UDP 차이 (0) | 2024.11.29 |