카테고리 없음

Docker run과 start의 차이점, attached 모드와 detached모드

khw7876 2022. 10. 3. 17:20

Docker run, start 차이점

Docker run

docker run -p 3000:80 image_id

이 명령어는 이미지를 기반으로하여 완전 새로운 컨테이너를 생성하는 명령어이다.

이 명령어는 터미널을 차단한다.(defualt = attached 모드)

docker run -p 3000:80 -d image_id

기본이 attached 모드인 run 명령어를 detached모드로 사용

Docker start

docker ps -a
docker start container_id or name

으로 컨테이너를 다시 사용이 가능하다.

또한 이 명렁어는 터미널을 차단하지 않고, 컨테이너만 실행하는 상태로 사용이 가능하다.

(default = detached모드, 백그라운드 실행)

docker start -a container_id or name

기본이 detached모드인 start 명령어를 attached 모드로 사용

detached attached 모드

  • detached 모드그냥 터미널창이 열려있는 상태라고 보아도 무방함
  • 터미널에 콘솔이 찍히는 모습을 확인이 불가하지만, 다른 터미널 명령어 입력이 가능하다.
  • attached 모드but 다른 터미널 명령어 입력이 불가.
  • 컨테이너의 출력결과를 수신한다.
  • detached모드인 컨테이너를 attacched모드로 연결
  • docker attach container_id
  • detached 모드이지만 해당 컨테이너의 로그 기록들을 보고 싶다면?만약 과거의 로그기록들을 모두 보고, 이어서 attached모드처럼 보고 싶다면
  • docker logs -f container_id
  • docker ps # 해당 컨테이너의 id, name을 찾기 위해서 docker logs container_id