728x90
개요
도커의 실행 모드인 Attach Mode와 Detach Mode에 대해서 위 포스팅에서 알아봤습니다. 본 글에서는 실시간으로 컨테이너를 모니터링할 수 있는 두 가지 옵션인 비슷해 보이는 "attach" 옵션과 "logs -f"옵션에 대해 알아보겠습니다. 두 옵션이지만 중요한 차이점이 있습니다.
docker Attach 옵션이란❓
docker attach는 실행 중인 컨테이너의 표준 입력(stdin), 표준 출력(stdout), 표준 에러(stderr) 스트림에 직접 연결하는 명령어입니다.
주요 특징
컨테이너와 상호작용 가능
- 키보드 입력을 컨테이너에 전달 가능
- 터미널처럼 직접 명령어 입력 가능
주의 사항
- Ctrl+C 입력 시 컨테이너가 종료될 수 있음
- 여러 터미널에서 attach하면 동일한 출력을 공유
사용 방법
docker attach [컨테이너ID/이름]
docker logs -f 옵션이란❓
docker logs -f 옵션은 실행 중인 Docker 컨테이너의 로그를 실시간으로 스트리밍하여 확인할 때 사용합니다. 이 옵션은 특정 컨테이너에서 발생하는 로그 출력(stdout, stderr)을 지속적으로 모니터링하는 데 유용합니다.
즉, 컨테이너의 로그를 실시간으로 확인할 수 있는 명령어입니다.
옵션 설명
-f (follow):
- 컨테이너의 로그를 실시간으로 스트리밍합니다.
- 컨테이너가 실행 중인 동안 계속 로그를 출력하며, 새 로그가 발생할 때마다 터미널에 업데이트됩니다.
- 일반적으로 tail -f 명령과 비슷한 동작을 수행합니다.
주요 특징
1. 안전한 모니터링
- 키보드 입력을 컨테이너에 전달 가능
- 터미널처럼 직접 명령어 입력 가능
2. 로그 이력 확인
- 과거 로그부터 현재까지 모든 로그 확인 가능
- 컨테이너와 상호작용은 불가능
사용 방법
docker logs -f [컨테이너ID/이름]
docker Attach 옵션과 docker logs -f 옵션의 차이점
docker attach 옵션과 docker logs -f 옵션은 Docker 컨테이너의 출력을 확인하는 데 사용되지만, 동작 방식과 목적이 다릅니다.
특징 | docker attach | docker logs -f |
실시간 출력 확인 | 가능 ✅ | 가능 ✅ |
기존 로그 확인 | 불가능 ❌ | 가능 ✅ |
입력 지원 | 지원 ✅ (컨테이너 내부에 명령 입력 가능) | 지원 ❌ |
연결 종료 시 컨테이너 상태 | 연결 종료 시 컨테이너도 종료될 가능성 있음 | 연결 종료해도 컨테이너는 계속 실행됨 |
다중 세션 | 여러 세션이 동일 출력 공유 | 각 세션 독립적 |
Ctrl+C 영향 | 컨테이너 종료 가능 | 로그 보기만 종료 |
사용 목적 | 디버깅/상호작용용 | 모니터링/로그분석용 |
간단히 말하자면 단순 로그 모니터링은 logs -f가, 컨테이너와 상호작용이 필요한 경우는 attach가 적합합니다.
'TIL,일일 회고' 카테고리의 다른 글
[TIL, 일일 회고] 2024.12.28 - Docker --rm 옵션으로 컨테이너 관리 자동화하기 (0) | 2024.12.28 |
---|---|
[TIL, 일일 회고] 2024.12.27 - Docker : stdin 연결을 위한 인터랙티브 모드(-it) (1) | 2024.12.27 |
[TIL, 일일 회고] 2024.12.25 - 인스턴스 메서드와 정적 메서드: 차이점과 활용 방법 (1) | 2024.12.25 |
[TIL, 일일 회고] 2024.12.24 - IntelliJ의 Code Insight 기능이란? (0) | 2024.12.24 |
[TIL, 일일 회고] 2024.12.23 - IntelliJ 점(.)으로 구분되는 디렉토리 구조 계층으로 변경하기 (0) | 2024.12.23 |