[Docker] 도커 사용하기

배창민·2025년 11월 28일
post-thumbnail

도커 사용하기 기본 명령 정리

로컬에서 도커를 다루면서 가장 많이 쓰는 기본 명령들을 정리한 내용.


1. 도커 허브 로그인 (docker login)

도커 허브(Docker Hub)에 저장된 이미지를 가져오거나(push 포함) 하려면 먼저 로그인해야 한다.

docker login
  • 터미널에서 실행 후 Docker Hub 계정의 usernamepassword 를 입력
  • 한 번 로그인해두면 이후 pull, push 시 인증 정보를 재사용

2. 원격 저장소에서 이미지 가져오기 (docker pull)

2-1. 도커 허브에서 이미지 다운로드

hello-world 라는 이름의 이미지를 도커 허브에서 받아오는 예시:

docker pull hello-world
  • 원격 저장소(도커 허브)에 있는 hello-world 이미지를 로컬로 다운로드
  • 태그를 지정하지 않으면 기본적으로 latest 태그를 사용 (hello-world:latest 와 동일)

2-2. 로컬에 있는 이미지 목록 확인 (docker images)

다운로드한 이미지가 제대로 저장됐는지 확인:

docker images
  • REPOSITORY, TAG, IMAGE ID, SIZE 등의 정보를 확인할 수 있다
  • 여기서 hello-world 이미지가 보이면 로컬 저장소에 정상 등록된 것

3. 이미지로 컨테이너 생성 후 실행 (docker run)

3-1. 기본 실행

로컬에 저장된 hello-world 이미지를 기반으로 컨테이너를 실행:

docker run hello-world
  • hello-world 이미지를 기반으로 컨테이너를 1개 생성하고 실행
  • 실행이 끝나는 순간 컨테이너는 중지(Exited) 상태가 된다
    (hello-world 는 한 번 메시지 출력하고 종료되는 타입)

참고
docker run 은 내부적으로 pull + create + start 를 한 번에 처리한다.
로컬에 해당 이미지가 없으면 원격 저장소에서 자동으로 pull 한 뒤 실행까지 진행한다.


4. 컨테이너 목록 확인 (docker ps)

4-1. 실행 중인 컨테이너만 보기

docker ps
  • 현재 실행 중인(running) 컨테이너만 보여준다

4-2. 모든 컨테이너 보기 (중지 포함)

docker ps -a
  • 실행 중 + 중지된 컨테이너를 모두 확인
  • hello-world 컨테이너는 보통 STATUSExited 로 표시된다
  • 컨테이너 이름은 직접 지정하지 않으면 great_bartik 같은 랜덤 문자열이 자동으로 붙는다

5. 컨테이너 실행 시 이름 지정 (--name)

docker run--name 옵션을 주면 컨테이너에 의미 있는 이름을 붙일 수 있다.

docker run --name hello hello-world
# docker run --name [컨테이너 이름] [이미지 이름]
  • hello-world 이미지를 기반으로 hello 라는 이름의 컨테이너 생성
  • 이후 docker ps -a 로 보면 같은 이미지로 만들어진 서로 다른 이름의 컨테이너들을 확인할 수 있다
  • 같은 이미지를 재사용해 여러 개의 컨테이너를 띄우는 것도 가능

6. 컨테이너 삭제하기 (docker rm)

더 이상 사용하지 않는 컨테이너는 rm 명령으로 삭제한다.

# 컨테이너 이름으로 삭제
docker rm hello

# 컨테이너 ID로 삭제 (예: abcd1234)
docker rm abcd1234

주의 사항

  • 기본적으로 중지(Exited) 상태인 컨테이너만 삭제 가능
  • 실행 중인 컨테이너를 강제로 지우고 싶다면 -f 옵션을 사용할 수 있다
docker rm -f hello

7. 이미지 삭제하기 (docker rmi)

rmi 명령으로 로컬에 저장된 이미지를 삭제할 수 있다.

docker rmi hello-world

하지만 다음 조건을 만족해야 삭제 가능하다.

  • 해당 이미지로 생성된 컨테이너가 모두 삭제되어 있어야 한다

만약 컨테이너가 남아 있으면 에러가 발생하므로, 순서는 보통 이렇게 간다.

# 1) 이미지로 생성된 컨테이너 삭제
docker rm hello

# 2) 컨테이너 삭제 후 이미지 삭제
docker rmi hello-world

8. 정리

  • docker login : 도커 허브 로그인
  • docker pull <이미지> : 원격 저장소에서 이미지 다운로드
  • docker images : 로컬 이미지 목록 확인
  • docker run <이미지> : 이미지로 컨테이너 생성 + 실행
  • docker ps / docker ps -a : 실행 중 / 전체 컨테이너 조회
  • docker run --name <이름> <이미지> : 컨테이너에 이름 부여
  • docker rm <컨테이너> : 컨테이너 삭제
  • docker rmi <이미지> : 이미지 삭제 (관련 컨테이너 먼저 삭제 필요)

도커의 기본 흐름은
이미지 받기 → 컨테이너 실행 → 상태/목록 확인 → 필요 없으면 컨테이너/이미지 삭제

profile
개발자 희망자

0개의 댓글