본문 바로가기
코딩/Docker

🐳 Docker 컨테이너 생성 / 실행 정리

by Leedius 2025. 4. 28.

1. 컨테이너 "생성만" 하기

이미지를 기반으로 컨테이너를 생성만 하고, 바로 실행은 하지 않음.
docker create [이미지명[:태그명]]

 

✅ 예시

docker create nginx

 

  • docker ps -a: 생성된 모든 컨테이너 조회
  • 이미지가 로컬에 없으면 자동으로 DockerHub에서 다운로드

 


2. 생성된 컨테이너 "실행"하기

생성만 되어 있던 컨테이너를 실행한다.

 

docker start [컨테이너명 또는 컨테이너 ID]

 

✅ 예시

docker start 컨테이너명
  • docker ps : 현재 실행 중인 컨테이너만 조회

 


3. 컨테이너 중단 및 삭제

실행 중이거나 중지된 컨테이너를 정리할 수 있다.

 

docker stop [컨테이너 ID]
docker rm [컨테이너 ID]
docker image rm [이미지명]

 

✅ Nginx 컨테이너 예시

docker stop [Container ID]
docker rm [Container ID]
docker image rm nginx

 


🌟 컨테이너 생성 + 실행 한번에

1. 컨테이너 생성과 실행을 동시에 (docker run)

컨테이너를 생성하고 바로 실행까지 하는 가장 자주 쓰이는 명령어.
docker run [이미지명[:태그명]]

 

✅ 예시

docker run nginx
  • 포그라운드(Foreground) 모드로 실행된다.
  • 중간에 Ctrl + C 로 실행을 중단할 수 있다.

 


2. 백그라운드에서 컨테이너 실행하기 (-d 옵션)

터미널에서 점유하지 않고 뒤에서 실행한다.
docker run -d [이미지명[:태그명]]

 

✅ 예시

docker run -d nginx
  • -ddetached 모드 (백그라운드 실행)
  • 이후 docker ps 로 실행 상태 확인 가능

 


3. 컨테이너 이름 지정해서 실행하기 (--name 옵션)

컨테이너에 명확한 이름을 부여해서 관리하기 쉽게 만든다
docker run -d --name [컨테이너명] [이미지명[:태그명]]

 

✅ 예시

docker run -d --name my-web-server nginx

 


4. 포트 연결해서 실행하기 (-p 옵션)

호스트 포트를 컨테이너 포트에 매핑한다.
docker run -d -p [호스트 포트]:[컨테이너 포트] [이미지명[:태그명]]

 

✅ 예시

docker run -d -p 5000:80 nginx
  • 호스트의 5000번 포트 → 컨테이너의 80번 포트로 연결
  • 웹 브라우저에서 http://localhost:5000 으로 접속 가능


🎯 포그라운드, 백그라운드 요약

구분 포그라운드 (Foreground) 백그라운드 (Background)
터미널 사용 터미널을 점유한다 터미널을 점유하지 않는다
명령어 추가 입력 불가능 가능
제어 Ctrl + C로 직접 종료가능 별도 명령어로 제어 (stop 등)

댓글