docker run -it ubuntu처럼 실행하면 bash가 컨테이너의 메인 프로세스(PID 1) 가 됩니다.
이 상태에서 exit를 입력하면:
- bash 종료
- 메인 프로세스 종료
- → 컨테이너도 종료
즉, 메인 프로세스가 곧 컨테이너입니다.
하지만 exit를 입력해도 컨테이너가 종료되지 않는 경우도 있습니다.
1. docker exec -it로 접속한 경우
docker exec -it mysql-dev bash
# 이 경우:
# 컨테이너는 이미 실행 중
# bash는 단지 “추가 세션”
# exit 하면:
# bash만 종료
# 컨테이너는 계속 실행
2. Ctrl + P + Q는?
- 컨테이너 실행 유지
- 현재 터미널 연결만 분리(detach)
즉, 종료가 아니라 “빠져나오기”입니다.
exit는 메인 프로세스일 때만 컨테이너를 종료시키며, docker exec로 붙은 세션에서는 bash만 종료되고 컨테이너는 계속 실행됩니다!
'컨테이너·워크플로우 자동화 > DocKer 기본 및 활용' 카테고리의 다른 글
| Docker 컨테이너 통신에서 IP 대신 DNS를 사용해야 하는 이유 (0) | 2026.02.16 |
|---|---|
| Docker Volume 설정 방식 두 가지: Bind Mount와 Named Volume의 차이 (0) | 2026.02.16 |
| Docker restart 정책에서 unless-stopped의 의미와 동작 방식 (0) | 2026.02.07 |
| 컨테이너로 실행된 Spring Boot가 MySQL에 연결되지 않는 이유 (0) | 2025.10.12 |
| Spring Boot와 MySQL 컨테이너를 함께 실행하기 (0) | 2025.10.12 |