[Docker] 4. Docker Commands

문정준's avatar
Jul 29, 2025
[Docker] 4. Docker Commands

Docker 내 설치된 이미지 확인

  • Repository : 라이브러리 이름
  • TAG : 만든 회사명 또는 버전 (버전이 없으면 보통 최신버전을 의미)
  • Image ID : 해당 이미지의 primary key
  • Created : 이미지 생성 날짜
  • Size : 이미지 크기
docker images
notion image

현재 실행 중인 Container 확인

docker ps
 

모든 컨테이너 확인

  • -a : all의 약어
docker ps -a
 
notion image
 

이미지 다운로드

docker pull 'repository:tag'
notion image
 

이미지 실행

  • -it : 터미널로 상호작용이 가능한 상태
    • -dit : repository를 background로 실행 (Daemon) + 터미널 상호작용
  • image name → 프로세스화
  • bash → ubuntu 실행 시 같이 수행할 명령어
    • 이 명령으로 수행하는 것이 daemon이어야 컨테이너가 죽지 않고 살아있음
      • bash는 사용자의 입력을 계속 기다리기 때문에 daemon이 가능
      • echo와 같은 단발성 명령은 명령문 수행 후 바로 Container가 종료됨
      • 옵션이 -d일 경우 bash를 실행시키지 않아도 알아서 daemon이 됨
        • 이때 자동으로 기본 명령어가 실행됨
        • 다른 명령어를 실행시키면 기본 명령어는 override 됨
docker run -it 'repository(image name) or image id' 'extra command'
notion image
notion image
notion image
notion image
 

컨테이너 정지

docker stop 'container id'
notion image

컨테이너 삭제

docker rm 'container id'
notion image
 
  • 하나씩 지우기 어렵기 때문에 한 번에 지우는 방법 : 리눅스의 리다이렉션 문법 활용
# 모든 컨테이너의 id만 표시 docker ps -aq # 모든 컨테이너 삭제 docker rm $(docker ps -aq)
notion image
 

이미지 삭제

# 이미지 삭제 docker rmi 'image id' # 설치된 이미지 id만 출력 docker images -q # 설치된 이미지 전체 삭제 docker rmi $(docker images -q)
notion image
 

포트 포워딩

  • Docker 내부 Container의 Tomcat은 외부에서 접근 불가
  • 포트포워딩 필요
notion image
docker run -dit -p 8888:8080 tomcat
  • 0.0.0.0:8888
    • 8888 포트로 요청하는 모든 IP 주소를 허용
notion image
 

컨테이너 업로드

  • 컨테이너는 꺼지면 내부의 모든 상태가 날아가기 때문에 현재 상태를 저장해야 함
# new-repo는 'username/repository' 형태로 작성 docker commit 'container id' 'new-repo:tag'
notion image
 
  • push하면 자동으로 repository 생성 후 push됨
docker push 'new-repo:tag'
notion image
 
  • push한 내 이미지는 Docker Hub의 Repositories에서 확인 및 관리 가능
notion image
 
 
Share article

sxias