Docker 사용시 대부분의 코드가 컨테이너 내부에서 작동한다.
어떤 과정으로 처리되고 잘 동작하는지 직접 확인하기 위해 2가지 방법을 익혔다.
1) docker logs 활용해 컨테이너 로그 확인
2) docker exec -it 활용해 실행중인 컨테이너 내부 접속
종료된 컨테이너에 docker exec -it 명령어 실행시 에러가 발생한다.
- Windows PowerShell
PS C:\Users\admin\docker-practice> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
10b3825e00f9 my-node-server "/bin/bash -c 'sleep…" 9 minutes ago Exited (0) About a minute ago pensive_ride
e8f1ab86997c my-jdk17-server "/bin/bash -c 'sleep…" 21 minutes ago Exited (0) 13 minutes ago tender_ride
969242a1b3f9 0879f7908658 "/__cacert_entrypoin…" 32 minutes ago Exited (0) 31 minutes ago distracted_williamson
PS C:\Users\admin\docker-practice> docker exec -it e8f1 bash
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug e8f1
Learn more at https://docs.docker.com/go/debug-cli/
Error response from daemon: container e8f1ab86997c1f65d8c38faa262afad3205d79102e3f90e89f126a4c788893a9 is not running
이미지를 만들면서 컨테이너 실행시, 컨테이너 특성상 명령어 처리가 끝나는대로 종료되어, 내부적으로 컨테이너가 어떻게 형성되었는지 디버깅하기 어렵다.
- docker-practice/Dockerfile
# JDK 17
# FROM openjdk:17-jdk # Deprecated 됨
# FROM eclipse-temurin:17-jdk
# Node
FROM node
...
ENTRYPOINT ["/bin/bash", "-c", "sleep 500"] # 500초 동안 시스템을 일시정지 시키는 명령어
# ENTRYPOINT : 컨테이너 시작시 항상 실행할 명령어 지정
· -c : 문자열을 명령어로 입력받아 실행
· sleep 시간 : 리눅스 Bash shell 에서 명시한 시간동안 아무 작업도 하지 않고 대기
[Docker] (10) Dockerfile 빌드 예시 | ENTRYPOINT 와 CMD의 차이 : https://mvje.tistory.com/170#google_vignette
[Docker] (10) Dockerfile 빌드 예시 | ENTRYPOINT 와 CMD의 차이
Docker 전체 포스팅 더보기 [Docker] (1) 도커 개념 설명 | 도커는 왜 사용하는 걸까? [Docker] (2) 도커 & 도커컴포즈 다운로드 [Docker] (3) 도커 핵심 개념 - 이미지, 컨테이너, 도커 허브 [Docker] (4) docker pull(
mvje.tistory.com
bash shell 실행 옵션 : https://testkernelv2.tistory.com/m/810
bash shell 실행 옵션
[1. 개요]bash 쉘 스크립트 실행 시 단순하게 ./myjob.sh 로 실행하는 것 외에다양한 옵션을 주어가면서 실행할 수 있다. 여기서는 몇가지 옵션과 유용한 상황을 같이 정리하도록 한다.[2. 옵션]-c 옵션
testkernelv2.tistory.com
리눅스 sleep 명령어 사용법 : https://securityspecialist.tistory.com/187
리눅스 sleep 명령어 사용법
1. sleep 명령어란?sleep 명령어는 리눅스 Bash shell에서 프로그램(또는 스크립트)의 실행을 일시적으로 정지시키는 명령어입니다. - 스크립트 실행 중 명령어 실행 간에 간격을 두기 위해 - 외부
securityspecialist.tistory.com
Dockerfile 에 위 명령어를 추가함으로써 컨테이너가 바로 종료되는 것을 막을 수 있다.
이후 docker exec -it 활용해 컨테이너 내부에 접속하여 디버깅할 수 있다.
참고링크 : https://www.inflearn.com/course/%EB%B9%84%EC%A0%84%EA%B3%B5%EC%9E%90-docker-%EC%9E%85%EB%AC%B8-%EC%8B%A4%EC%A0%84?cid=334085
비전공자도 이해할 수 있는 Docker 입문/실전| JSCODE 박재성 - 인프런 강의
현재 평점 4.9점 수강생 14,463명인 강의를 만나보세요. 비전공자 입장에서도 쉽게 이해할 수 있고, 실전에서 바로 적용 가능한 Docker 입문/실전 강의를 만들어봤습니다! Docker 기본 개념, Spring Boot를
www.inflearn.com
'강의 실습 > 비전공자도 이해할 수 있는 Docker 입문 실전' 카테고리의 다른 글
| ENTRYPOINT : 컨테이너가 시작할 때 실행되는 명령어 (0) | 2026.05.15 |
|---|---|
| COPY 파일 복사(이동) (0) | 2026.05.14 |
| [실습] FROM : 베이스 이미지 생성 (0) | 2026.05.13 |
| FROM : 베이스 이미지 생성 (0) | 2026.05.12 |
| Dockerfile이란? (0) | 2026.05.12 |
댓글