코드/CI-CD-Docker

[docker] attach, detached

Yeah-Panda 2024. 5. 13. 19:37

docker run -p 5888:4000 c2a575704e15 를 통해서 컨테이너를 실행시킬 경우

foreground 에서 실행되며 터미널에서 블럭됩니다.

 

docker stop c2a575704e15

 

# 기존 컨테이너를 재시작 합니다.
# docker start CONTAINER_ID

 

docker start c2a575704e15 로 컨테이너를 재시작합니다.

 

터미널이 블럭 되지 않습니다. 

컨테이너는 백그라운드에서 실행 됩니다.

위의 두 가지 방법은 컨테이너 내부에서 발생되는 로그의 노출 여부에 따라 사용법이 다릅니다.

 

docker run 은 기본적으로 attached 모드

실행될때마다 새로운 컨테이너 인스턴스를 생성합니다.

 

docker run 4999:4000 -d c2a575704e15

-d 옵션으로 detached 모드로 시작 할수 있습니다.

 

 

docker start 은 기본적으로 detached 모드

기존에 있는 컨테이너를 재시작합니다.

 

-a 옵션으로 attached 모드로 시작할 수도 있습니다.

 

 

docker logs c2a575704e15

위 커맨드는 detached 모드로 시작하더라도 컨테이너에서 발생한 로그를 보여 줍니다.

 

시작/재시작등 컨테이너 생성 이후 모든 로그를 남기는 것으로 보입니다.

스크린캡처는 짤렸지만, 터미널을 또한 블럭하지 않습니다.

 

#docker logs -f CONTAINER_ID
docker logs -f c2a575704e15

얘는 -f 옵션으로 터미널에 블럭 걸고 이후 계속 컨테이너 로그를 추적할수 있습니다.

로그를 찍어 내는 면에서는 attached 모드와 동일합니다.

 

 

 

추가

디폴트로 '-d' 없이 컨테이너를 실행하면, 'attached모드' 로 실행됩니다.

detached 모드(예: -d)로 컨테이너를 시작한 경우에는

다음 명령을 사용하여 컨테이너를 다시 시작하지 않고도 컨테이너에 연결할 수 있습니다.

 

# docker attach CONTAINER_ID
docker attach c2a575704e15

이는 CONTAINER라는 ID 또는 이름으로 실행 중인 컨테이너에 연결합니다.

'코드 > CI-CD-Docker' 카테고리의 다른 글

[Docker] 중지된 컨테이너 자동 제거 하기  (0) 2024.07.10
[Docker] 도커 이미지/컨테이너 삭제  (0) 2024.07.09
[Docker] 인터렉티브 모드  (0) 2024.05.30
[CI/CD] environment  (0) 2024.05.23
[docker] docker run -p  (0) 2024.05.09