KimMinJun
Coding Note
KimMinJun
전체 방문자
오늘
어제
  • 분류 전체보기 (499) N
    • ALGORITHM (11)
      • 정렬 (6)
      • 최단경로 (1)
      • 자료구조 (1)
      • 슬라이딩 윈도우 (1)
      • etc (2)
    • Git (5)
    • Web (24)
      • Vanilla JS (13)
      • TS (2)
      • React (7)
      • ETC (1)
    • React 공식문서 (번역, 공부) (11)
      • Quick Start (2)
      • Installation (0)
      • Describing the UI (9)
      • Adding Interactivity (0)
      • Managing State (0)
      • Escape Hatches (0)
    • Next.js 공식문서 (번역, 공부) (3)
      • Getting Started (2)
      • Building Your Application (1)
    • PS (432)
      • 백준 (187)
      • Programmers (105)
      • CodeUp (21)
      • STL (3)
      • 제코베 JS 100제 (50)
      • SWEA (0)
      • LeetCode (65)
    • IT (1)
    • Docker (11) N
    • CS (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 관리

공지사항

인기 글

태그

  • codeup
  • recursion
  • 수학
  • programmers
  • 문자열
  • LeetCode
  • string
  • C++
  • Level 1
  • 정렬
  • 제코베 JS 100제
  • 그래프
  • Level 0
  • 다이나믹 프로그래밍
  • Level 2
  • C
  • tree
  • Level1
  • 백준
  • js

최근 댓글

최근 글

hELLO · Designed By 정상우.
KimMinJun

Coding Note

컨테이너 관련 명령어 알아보기
Docker

컨테이너 관련 명령어 알아보기

2025. 7. 31. 10:07

개요

이번 포스팅에서는 그동안 알아보지 않고 무작정 썼던 명령어들을 조금 자세히 알아보려 한다.

컨테이너와 이미지 생성, 삭제 등 이미 모두 해보았지만,

명령어의 각 옵션이 무엇을 의미하는지 알아보자.

 

컨테이너 조회하기

컨테이너를 조회하기 위해서 기본적으로 다음 명령어를 사용했었다.

docker ps

여기서 중요하게 알아야 할 것이 있다.

위 명령어는 모든 컨테이너를 조회하는 것이 아니라,

'실행중인 컨테이너'를 조회하는 명령어이다.

 

 

아래 명령어는 위 명령어와 뭐가 다를까?

docker ps -a

여기서 `-a` 옵션을 붙였는데, 'all'의 약자라고 생각하면 된다.

실행중인 컨테이너, 중지된 컨테이너 '모두' 포함해서 조회하는 명령어이다.

STATUS를 보면 'Exited'라고 되어있는데,

중단된 컨테이너를 의미한다.

 

컨테이너 실행하기

이제 중단된 컨테이너를 실행해보자.

docker run -d nginx

 

여기서 `-d`는 'detached'의 약자라고 생각하면 된다.

'detached'는 '분리된' 이라는 의미를 가지고 있으며,

foreground가 아닌, background에서 실행해준다.

실행중인 컨테이너를 조회하는 명령어로 확인해보면,

중단된 상태였던 컨테이너가 잘 보이는 것을 확인할 수 있다.

 

컨테이너 중지하기

컨테이너를 중지하기 위해서는 다음 명령어를 사용했었다.

docker stop [CONTAINER ID]

이 때, CONTAINER ID는 다른 컨테이너와 구분이 가는 정도에서 일부만 입력해도 된다.

물론, NAMES를 지정해줬을 경우에는 컨테이너 이름을 입력해줘도 된다.

 

 

그런데, 만약 컨테이너가 멈추지 않거나, 응답이 없다면 어떻게할까?

우리가 컴퓨터를 전원 버튼을 꾹 눌러서 강제종료 하듯이,

컨테이너도 다음 명령어로 강제종료 할 수 있다.

docker kill [CONTAINER ID]

 

하지만 위 방법은 데이터가 손실되거나 비정상으로 종료될 위험이 있다.

그러므로, 최후의 수단으로 사용해야 한다.

 

 

일반적으로는 `docker stop`으로 안전하게 종료하고,

컨테이너가 멈추지 않거나, 응답이 완전히 없을 때만 `docker kill`을 사용하는게 좋다.

 

컨테이너 삭제하기

컨테이너를 삭제할 땐 다음 명령어를 사용했다.

docker rm [CONTAINER ID]

이렇게 중간에 공백을 두어서 여러 컨테이너를 한 번에 지울 수도 있다.

 

하지만, 컨테이너는 실행 중에 지울 수 없다.

테스트를 위해 컨테이너를 실행해서 다시 지워보자.

그러면 에러가 발생하는데,

에러메시지를 보면 컨테이너를 지우기 전에 컨테이너를 중지하라고 나온다.

 

컨테이너를 중지하고 삭제해보자.

위와 같이 잘 삭제가 된 것을 볼 수 있다.

 

 

만약 여러개의 컨테이너를 한 번에 지우고 싶다면 어떻게 할까?

다음과 같이 여러 컨테이너가 있다고 해보자.

물론 중간에 공백을 두고 CONTAINER ID를 모두 입력할 수 있다.

하지만, 컨테이너가 많아질수록 힘들어진다.

그럴땐 다음 명령어로 한 번에 지울 수 있다.

docker rm $(docker ps -qa)

여기서 `docker ps -qa`는 현재 호스트에 저장된 모든 컨테이너의 ID를 호출한다.

`-q` 옵션은 'quiet'로, ID만 추출하고,

`-a` 옵션은 'all'로, 실행 중이든 중지 상태든 모든 컨테이너를 포함한다.

 

 

마지막으로, 실행 중이던 컨테이너를 바로 삭제하는 법은 다음과 같다.

docker rm -f [CONTAINER ID]

여기서 `-f`는 'force'의 약자로, '강제로' 한다는 의미이다.

저작자표시 (새창열림)

'Docker' 카테고리의 다른 글

실행중인 컨테이너 내부에 접속하기  (2) 2025.07.31
컨테이너 로그 조회하기  (1) 2025.07.31
컨테이너 생성 / 실행하기  (2) 2025.07.31
도커 이미지 조회 / 삭제하기  (0) 2025.07.31
    'Docker' 카테고리의 다른 글
    • 실행중인 컨테이너 내부에 접속하기
    • 컨테이너 로그 조회하기
    • 컨테이너 생성 / 실행하기
    • 도커 이미지 조회 / 삭제하기
    KimMinJun
    KimMinJun

    티스토리툴바