
지금까지는 Docker Desktop의 UI를 중심으로 이미지를 만들고 실행해보았다.
하지만 Docker Desktop은 Docker의 모든 기능을 쓸 수 있지는 않다.
실제 현업에서는 대부분 터미널에서 Docker 명령어를 직접 실행한다.
이번 글에서는 컨테이너를 다루는 핵심 Docker 명령어들을 하나씩 살펴보자.
Docker Desktop과 터미널의 역할 차이
Docker Desktop은 매우 편리하지만, 본질적으로는 다음을 도와주는 도구다.
- Docker 엔진 실행
- 이미지와 컨테이너 상태를 시각적으로 보여줌
- 기본적인 실행·중지·로그 확인 기능 제공
반면 실제 Docker의 핵심 기능은 CLI 명령어에 있다.
그래서 Docker를 제대로 이해하려면 터미널에서의 조작이 필수다.
컨테이너 실행의 기본: docker run
이미지를 컨테이너로 실행하려면 다음 명령어를 사용한다.
docker run 이미지이름:태그
예를 들면 다음과 같다.
docker run nodeserver:v1

이 명령어를 실행하면 이미지가 컨테이너로 실행된다.
위 명령어에는 한 가지 불편한 점이 있다.
컨테이너가 실행되면서 터미널을 계속 점유한다는 것이다.
이 상태에서는 다른 Docker 명령어를 실행하려면 터미널을 하나 더 열어야 한다.
백그라운드 실행: -d 옵션
이 문제를 해결하려면 컨테이너를 백그라운드에서 실행하면 된다.
먼저 실행 중인 컨테이너를 종료한다.
그 다음 다음과 같이 실행한다.
docker run -d nodeserver:v1

- -d는 detached의 약자다.
- 컨테이너를 백그라운드에서 실행한다.
이제 터미널은 점유되지 않고, 다른 명령어를 계속 입력할 수 있다.
웹 서버 컨테이너는 포트 설정이 필수다
웹 서버가 포함된 이미지는 그냥 실행하면 안 되고 포트 매핑을 반드시 설정해야 한다.
컨테이너 실행 시 다음 옵션을 사용한다.
-p 호스트포트:컨테이너포트
예를 들면 다음과 같다.
docker run -d -p 8080:8080 nodeserver:v1

이 설정은 다음 의미를 가진다.
- 내 컴퓨터의 8080 포트로 들어온 요청을
- 컨테이너 내부의 8080 포트로 전달한다
Docker Desktop의 Run 버튼에서 포트 설정을 했던 것과 동일한 동작이다.
포트 설정 없이 컨테이너를 실행하면 다음과 같은 현상이 발생한다.
- Docker Desktop에서는 컨테이너가 정상 실행 중으로 보인다
- 하지만 브라우저에서 접속하면 아무 것도 나오지 않는다
현재 상황을 개념적으로 그려보면 다음과 같다.

- 내 컴퓨터 안에 컨테이너라는 가상 컴퓨터가 실행 중이다
- Node.js 서버는 컨테이너 내부의 8080 포트에서만 열려 있다
- 외부에서 내 컴퓨터의 8080 포트로 접근해도 컨테이너와는 연결되지 않는다
즉, 사람들은 내 컴퓨터의 포트로 들어오고 서버는 컨테이너 안의 포트에서 대기 중인 상태다
이 둘을 연결해주는 설정이 바로 -p 8080:8080이다.
이 설정이 있어야 외부 요청이 컨테이너 내부 서버까지 전달된다.
localhost의 의미
브라우저에서 다음과 같이 접속해본다.
localhost:8080
localhost는 “내 컴퓨터 자신”을 의미한다.
즉, 외부 사용자가 내 컴퓨터에 접속하는 상황을 로컬에서 시뮬레이션하는 것이다.
실제 서버 환경에서는 다음과 같이 접속한다.
서버IP주소:포트
IP 주소만 알면 해당 컴퓨터로 접속할 수 있다.
실행 중인 컨테이너 목록 확인
현재 실행 중인 컨테이너 목록을 보고 싶다면 다음 명령어를 사용한다.
docker ps

이 명령어를 실행하면 다음 정보가 나온다.
- 컨테이너 ID
- 이미지 이름
- 컨테이너 이름
- 포트 정보
- 실행 상태
컨테이너 로그 확인하기
컨테이너에서 출력되는 로그를 보고 싶다면 다음 명령어를 사용한다.
docker logs 컨테이너이름
예를 들면 다음과 같다.
docker logs elegant_perlman
컨테이너 이름은 docker ps 명령어로 확인할 수 있다.

컨테이너 내부로 직접 접속하기
컨테이너 안의 가상 컴퓨터에 직접 접속할 수도 있다.
docker exec -it 컨테이너이름 sh
이 명령을 실행하면 컨테이너 내부 쉘로 들어간다.
이 안에서는 다음과 같은 작업이 가능하다.
- ls로 파일 목록 확인
- cd로 디렉터리 이동
- 설정 파일 확인

컨테이너에서 빠져나오려면 다음 키 조합을 입력한다.
Ctrl + P → Ctrl + Q
컨테이너 중지와 삭제
컨테이너를 일시 정지하려면 다음 명령어를 사용한다.
docker stop 컨테이너이름
중지된 컨테이너를 삭제하려면 다음과 같이 한다.
docker rm 컨테이너이름

컨테이너가 삭제되어 컨테이너 목록에 아무것도 뜨지 않는다.
실행 중인 컨테이너를 강제로 삭제하려면 -f 옵션을 사용한다.
docker rm -f 컨테이너이름
'Tool 활용법 > Docker 활용법' 카테고리의 다른 글
| [Docker 기초 5] Docker Hub로 이미지 업로드하고 공유하기 (0) | 2026.02.06 |
|---|---|
| [Docker 기초 4] Dockerfile 성능 최적화 방법 (Cache, Multi-Stage build) (0) | 2026.02.06 |
| [Docker 기초 2] Dockerfile로 내 프로그램을 Docker Image로 만들기 (0) | 2026.02.06 |
| [Docker 기초 1] Docker로 띄울 간단한 웹서버 만드는 방법 (0) | 2026.02.05 |
| Docker와 Container 기술 구체적으로 살펴보기 (0) | 2026.02.05 |