지난 게시글에 이어 오늘은 도커 이미지를 받아서 이를 이용해 컨테이너를 올리는 방법에 대해 정리하려고 한다.
해당 게시글은 인프런 비전공자도 이해할 수 있는 Docker 입문/실전 강의를 듣고 정리했습니다.
비전공자도 이해할 수 있는 Docker 입문/실전| JSCODE 박재성 - 인프런 강의
현재 평점 4.9점 수강생 13,897명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 Docker 입문/실전 강의를 만들어봤습니다! Docker 기본 개념, Spring Boot를
www.inflearn.com
도커 컨테이너와 이미지에 대한 개념은 아래 게시글에 정리해두었다.
https://wanna-developer02.tistory.com/198
[Docker] 도커란 무엇일까?
프로젝트를 하면서 처음으로 도커를 사용해봤는데, 잘 모르는 상태로 사용하다보니 어려움을 겪었다. 그래서 이 기회에 도커를 정리해보려고 한다! 해당 게시글은 인프런 비전공자도 이해할 수
wanna-developer02.tistory.com
목차는 다음과 같다
- 도커 이미지 다운로드
- 이미지 조회, 삭제
- 컨테이너 생성하고 조회하기
- 컨테이너 중지, 삭제
- 컨테이너 로그 확인하기
- 실행중인 컨테이너 내부에 접속하기
1. 도커 이미지 다운로드 하기
mysql, redis 등 사람들은 이미 많은 도커 이미지를 도커 허브에 올려두었다. 이런 것들은 이미지를 만들지 않고, 도커허브에서 받아와 사용하면 된다.
도커 허브는 이미지를 저장하고, 다운받을 수 있는 일종의 저장소 역할을 한다! 여기에서 이미지를 받아서 사용하면 되는데, 이때 사용하는 명령어를 알아보자.
docker pull [이미지명]:[태그명]
태그는 특정 버전을 의미한다. 특정한 버전을 받아오고 싶다면 태그명을 쓰면 되고, 그냥 최신버전을 받아오고 싶다면 이미지명만 작성해도 무방하다!

이런식으로 이미지들을 볼 수 있고, 세부적으로 이미지 이름과 도커 허브 작성방법까지 상세하게 나와있다!
2. 이미지 조회, 삭제
이미지 조회
이미지를 불러오고 나서 잘 불러왔는지 확인해야한다. 이렇게 다운받은 이미지를 조회하는 명령어를 알아보자

docker image ls
이 명령어를 이용하면 다운받은 모든 이미지를 조회할 수 있다.
- REPOSITORY : 이미지 이름
- TAG: 이미지 태그명(버전)
- IMAGE ID: 이미지 ID
- 이거를 이용해 이미지를 삭제할 수 있다
- CREATED: 생성날짜
- SIZE: 이미지 크기
이미지 삭제
다음 명령어를 이용해 특정 이미지를 삭제할 수 있다
docker image rm [이미지 ID 또는 이미지명]
이미지 ID로 삭제할 때에는 전체 ID가 아닌 일부만 입력해도 된다! 위 사진에서 예를 들면 redis를 삭제하고 싶은 경우
docker image rm 9d1 만 작성해도 삭제할 수 있다는 것이다!
전체 이미지를 한번에 삭제하는 명령어는 아래와 같다.
// 컨테이너에서 사용하지 않고 있는 이미지만 전체 삭제
docker image rm $(docker images -q)
// 컨테이너에서 사용하고 있는 이미지를 포함해서 전체 이미지 삭제
docker image rm -f $(docker images -q)
이때 실행중인 컨테이너에서 사용하고 있는 이미지는 삭제할 수 없기 때문에, 삭제하기 전 컨테이너를 중지시킨 후 삭제해야 한다.
3. 컨테이너 생성하고 실행하기
컨테이너 생성, 실행
이미지를 이용해 컨테이너를 생성한다. 단, 이 명령어를 이용하면 컨테이너가 생성만 되고, 실행되지는 않는다.
docker create [이미지명]
정지되어있는 컨테이너를 실행시킬 때에는 다음과 같은 명령어를 작성하면 된다.
docker start [컨테이너명 또는 컨테이너ID]
사실 위처럼 생성만 하는 명령어는 잘 사용하지 않는다. 아래 명령어는 이미지를 다운받고, 컨테이너를 생성해서 실행하는 것까지 모두 해주는 참 많이 쓰는 명령어이다!
참고로 태그명은 안 써도 된다. 쓰지 않는 경우 최신 버전으로 다운받아 실행된다. 또, 로컬에 해당 이미지가 있는 경우에는 그냥 사용이 되고, 없는 경우에는 Dockerhub에서 다운받아 실행시킨다!
docker run [이미지명:태그명]
docker run -d [이미지명:태그명]
-d 옵션은 백그라운드 실행 명령어이다! 이걸 붙여야 뭔가 다른 작업이 가능하다. ⭐
⭐ 포트매핑
도커에 올린 어플리케이션을 로컬에서 접근하려면 포트끼리의 매핑을 해주어야 한다! 이를 컨테이너 실행할 때 옵션을 통해 해줄 수 있다.
docker run -d -p [호스트포트]:[컨테이너포트] [이미지명:태그명]
예를 들어 nginx를 도커에서 실행한다고 했을 때, docker run -d -p 4000:80 nginx 명령어를 이용하여 로컬에서 4000번 포트를 이용해 도커 속 nginx에 들어갈 수 있게 설정할 수 있다. 이렇게 하면 호스트pc에서 localhost:4000 을 통해 도커 속 nginx에 접속이 가능하다.
4. 컨테이너 조회, 중지, 삭제하기
컨테이너 조회
모든 컨테이너를 조회하기 위해서는 다음과 같은 명령어를 이용한다. -a 옵션을 주지 않으면 현재 실행중인 컨테이너만 조회된다!
docker ps -a
컨테이너 중지
컨테이너를 중지시키는 명령어는 2가지인데, 보통 stop을 많이 사용한다! kill은 먹통일 때 비정상적으로 종료시키는 것을 의미한다.
docker stop 컨테이너명
docker kill 컨테이너명
컨테이너 삭제
옵션을 사용하지 않으면, 기본적으로는 중지되어있는 컨테이너만 삭제가 가능하다!
docker rm [컨테이너명 또는 컨테이너ID]
여기서 실행중인 컨테이너를 삭제하고 싶다면 -f 옵션을 넣어주면 된다.
docker rm -f [컨테이너명 또는 컨테이너ID]
추가로 아래 명령어를 이용하면 중지되어있는 모든 컨테이너를 삭제할 수 있고, 마찬가지로 -f 옵션을 넣으면 실행중인 모든 컨테이너도 삭제가 가능하다.
docker rm $(docker ps -qa)
5. 컨테이너 로그 조회하기
컨테이너를 실행시키면, 해당 어플리케이션이 잘 실행되고 있는지 확인을 해야한다. 이때 도커 속 어플리케이션에 들어가지 않고 컨테이너에서 발생한 로그를 확인할 수 있다! 프로젝트를 하면서 어쩌면 가장 중요한 부분이 아닐까 싶다.
// 특정 컨테이너 모든 로그 조회
docker logs [컨테이너명]
// 최근 로그 N줄만 조회
docker logs --tail N [컨테이너명]
// 기존 로그 포함 실시간으로 생성되는 로그 확인하기
docker logs -f
번외로 필자는 아래처럼 최근 로그 N줄 확인하는 명령어를 주로 사용한다!
docker logs --tail 200 -f [컨테이너명]
줄의 수를 0으로 넣으면 기존 로그는 조회하지 않고 생성되는 로그를 실시간으로 볼 수 있다!
6. 실행중인 컨테이너 내부에 접속하기 (exec -it)
컨테이너는 컴퓨터 속 작은 컴퓨터라고 생각해도 되기 때문에, 그 컴퓨터 속에 접속할 수 있다! 이때 이용하는 명령어는 다음과 같다.
docker exec -it [컨테이너명] bash
컨테이너에서 나오려면 exit 을 입력하면 된다!!
도커를 사용하기 위한 기본적인 명령어를 살펴보았다! 다음게시글에서는 도커 이미지를 만들어볼 예정이다!
'인프라 > 도커' 카테고리의 다른 글
| [Docker] 도커란 무엇일까? (0) | 2025.09.18 |
|---|