💾 Image 관련
✅ 이미지 다운로드
이미지 다운로드 시 Dockerhub이라는 곳에서 이미지를 다운 받음.
[최신 버전(latest) 이미지 다운로드]
# docker pull 이미지명
$ docker pull nginx # docker pull nginx:latest와 동일하게 작동
[특정 버전 이미지 다운로드]
# docker pull 이미지명:태그명
$ docker pull nginx:stable-perl
✅ 다운 받은 모든 이미지 조회
$ docker image ls
✅ 이미지 삭제
[특정 이미지 삭제]
$ docker image rm [이미지 ID 또는 이미지명]
[이미지 강제 삭제]
$ docker image rm -f [이미지 ID 또는 이미지명]
[전체 이미지 삭제]
# 컨테이너에서 사용하고 있지 않은 이미지만 전체 삭제
$ docker image rm $(docker images -q)
# 컨테이너에서 사용하고 있는 이미지를 포함해서 전체 이미지 삭제
$ docker image rm -f $(docker images -q)
📦 컨테이너(Container) 관련
✅ 컨테이너 생성
이미지를 바탕으로 컨테이너를 생성한다. 생성만 하고 실행은 X -> (그래서 잘 사용하지 않는 명령어)
# docker create 이미지명[:태그명]
$ docker create nginx
$ docker ps -a # 모든 컨테이너 조회
✅ 컨테이너 실행
$ docker start 컨테이너명[또는 컨테이너 ID]
$ docker ps # 실행중인 컨테이너 조회
# Nginx 컨테이너 중단 후 삭제하기
$ docker ps # 실행 중인 컨테이너 조회
$ docker stop {nginx를 실행시킨 Contnainer ID} # 컨테이너 중단
$ docker rm {nginx를 실행시킨 Contnainer ID} # 컨테이너 삭제
$ docker image rm nginx # Nginx 이미지 삭제
✅ 컨테이너 생성 + 실행
이미지를 바탕으로 컨테이너를 생성 + 실행
# docker run 이미지명[:태그명]
$ docker run nginx # 포그라운드에서 실행 (추가적인 명령어 조작을 할 수가 없음)
[컨테이너 백그라운드 실행]
# docker run -d 이미지명[:태그명]
$ docker run -d nginx
[컨테이너 이름 붙이기]
# docker run -d --name [컨테이너 이름] 이미지명[:태그명]
$ docker run -d --name my-web-server nginx
[호스트 포트 - 컨테이너 포트 매핑] - (중요 !)
# docker run -d -p [호스트 포트]:[컨테이너 포트] 이미지명[:태그명]
$ docker run -d -p 4000:80 nginx
외부에서 접근하기 위해서는 호스트 포트와 컨테이너 포트 번호를 매핑해주어야 외부에서 접근이 가능하다.

✅ 컨테이너 조회
[실행중인 컨테이너 조회]
$ docker ps
[모든 컨테이너 조회]
$ docker ps -a
✅ 컨테이너 중지
$ docker stop 컨테이너명[또는 컨테이너 ID]
$ docker kill 컨테이너명[또는 컨테이너 ID]
✅ 컨테이너 삭제
[컨테이너 단일 삭제]
$ docker rm 컨테이너명[또는 컨테이너 ID]
$ docker rm -f 컨테이너명[또는 컨테이너 ID] // 강제 삭제
[컨테이너 여러개 삭제]
$ docker rm $(docker ps -qa)
$ docker rm -f $(docker ps -qa) // 강제 삭제
✅ 컨테이너 로그 조회
[특정 컨테이너의 모든 로그 조회]
# docker logs [컨테이너 ID 또는 컨테이너명]
$ docker run -d nginx
$ docker logs [nginx가 실행되고 있는 컨테이너 ID]
[특정 컨테이너의 최근 10개 로그 조회]
# dokcer logs --tail [로그 끝부터 표시할 줄 수] [컨테이너 ID 또는 컨테이너명]
$ dokcer logs --tail 10 [컨테이너 ID 또는 컨테이너명]
[기존 로그 조회 + 생성되는 로그를 실시간으로 보고 싶은 경우]
# docker logs -f [컨테이너 ID 또는 컨테이너명]
# Nginx의 컨테이너에 실시간으로 쌓이는 로그 확인하기
$ docker run -d -p 80:80 nginx
$ docker logs -f
✅ 실행 중인 컨테이너 내부 접속
# docker exec -it 컨테이너명[또는 컨테이너 ID] bash
$ docker run -d nginx
$ docker exec -it [Nginx가 실행되고 있는 컨테이너 ID] bash
'Docker' 카테고리의 다른 글
| [Docker] Docker 기본 개념 간단정리 (0) | 2025.09.23 |
|---|