Attached mode와 Detached mode
Docker를 사용할 때, 컨테이너를 실행하기 위한 명령어인 docker run과 docker start 시 Attached mode와 Detached mode의 차이를 아는 것이 중요하다.
docker run 시의 기본 옵션은 Attached mode로 이는 컨테이너의 표준 입력과 출력 그리고 오류 스트림을 터미널에 연결해 실시간으로 확인할 수 있도록 하는 모드이다. 다음은 우리가 docker run을 통해 애플리케이션을 실행했을 때의 화면이다.
이 화면에서 볼 수 있듯이, Attached Mode는 기본적으로 콘솔에서 로그를 확인할 수 있도록 한다.
하지만, 만약 우리가 docker start를 통해 컨테이너를 실행한다면, 이 컨테이너는 로그를 출력하지 않는다. 다음은 우리가 docker start를 통해 위와 같은 애플리케이션을 실행했을 때의 결과이다.
이는 바로 docker start의 기본 모드가 Detached mode이기 때문이다.
하지만 우리는 docker start로 실행하면서 Attached mode를 설정해야 할 수도 있고, docker run로 실행하면서 Detached mode를 설정하고 싶을 수 있다. 지금부터 이 방법을 알아보자.
Detached Mode로 docker run 실행하기
Detached Mode로 docker run을 실행하기 위해서는 -d 옵션을 주면 된다. 예를 들어 5124112d0a1e51d59858884e4970b1a6330b8bf72c8218039e92e0ca204ccca8 이미지로 컨테이너를 실행하면서 Detached Mode로 실행하고 싶다면 다음과 같은 명령어를 사용하면 된다.
docker run -p 8080:8080 -d 5124112d0a1e51d59858884e4970b1a6330b8bf72c8218039e92e0ca204ccca8
그러면 다음과 같이 Detached Mode로 컨테이너가 실행된 것을 볼 수 있다.
Detached Mode로 실행한 컨테이너에 Attach 하기
Detached Mode로 실행한 컨테이너에 Attach 하려면 docker attach를 사용하면 된다.
docker attach [Container Name]
예를 들어 goofy_sanderson 컨테이너에 Attach 하려면 다음 명령어를 사용하면 된다.
docker attach goofy_sanderson
다만, 이 방법을 통해 attach 하면 이전의 로그가 나오지 않는다.
지금부터 이전 로그를 확인하는 방법을 알아보자.
docker start로 실행한 컨테이너의 로그 확인하기
docker start로 실행한 컨테이너의 로그를 확인하기 위해서는 docker logs -f 명령어를 사용하면 된다. 예를 들어 컨테이너 이름이 goofy_sanderson이라면 다음과 같은 명령어를 사용하면 된다.
docker logs -f goofy_sanderson
그러면 새로운 로그가 나올 때마다 화면에 출력된다.
만약 로그를 한 번만 보려면 docker logs만 사용하면 된다.
docker logs goofy_sanderson
'Docker' 카테고리의 다른 글
[Docker] 이미지 목록 확인하고 제거하는 방법 한 번에 정리하기 (0) | 2025.01.24 |
---|---|
[Docker] 도커 이미지 정보 확인하기: docker image inspect (0) | 2025.01.23 |
[Docker] 명령어로 컨테이너 목록 확인하고 중지, 삭제하기 (0) | 2025.01.22 |
[Docker] Dockerfile 사용해 스프링 애플리케이션 이미지 만들고 컨테이너 실행해보기 (0) | 2025.01.21 |
Docker의 이미지와 컨테이너의 차이 알아보기 (0) | 2025.01.20 |