도커 특정 포트 종료하기

적자생존·2022년 6월 11일
0

docker

목록 보기
1/2

1. 도커에서 사용중인 포트 보기

가. docker ps 명령어

나는 도커에서 현재 사용중인 포트를 보고 싶다...

GCP에 접속해서 VM인스턴스 탭에 들어가서 쉘을 하나 켜준다

이후 docker ps 명령어를 입력하면?

역시 한 번에 되는 것이 없다...

왜 안되는 건지 구글링 한 결과 관리자 권한으로 실행을 시켜야 한다

docker ps가 아닌 sudo docker ps을 입력해주어야 한다.

sudo docker ps를 입력하게 되면 현재사용하는 포트, 실행되고 있는 명령어 실행되고 있는 도커의 아이디 등 정보가 되고

실행한 결과에서 PORTS를 보게되면 3000번을 사용하고 있다는 것이 보인다.

즉 우리는 저 3000번을 죽여야 한다.

여기서 COMMAND는 실행되고 있는 명령어 이며 docker-entrypoint.s… Dockerfile에서 마지막으로 실행되고 있는 명령어를 의미함


나의 도커 파일이며 CMDyarn start가 실행되고 있기 때문에 3000번을 이용해서 돌아가고 있는 것이다.

2. 3000번 포트 죽이기

위에서 봤던 sudo docker ps로 3000번이 사용되고 있는 포트를 봤다.

그러니 죽여야지?

가. docker stop 명령어

실행중인 컨테이너를 종료하기 위해서는 docker stop명령어가 있다.

GCP 쉘에서 docker stop [컨테이너 ID]를 입력하면?

역시 한 번에 될 일이 없지,,,

sudo docker stop [컨테이너 ID]

관리자 권한으로 실행하면 저런 식으로 나오게 된다.

sudo docker stop [컨테이너 ID] 을 입력하고 sudo docker ps를 입력해 보면?

3000번을 사용하던 포트가 사라졌다.

나. docker kill 명령어

포트를 종료하는데에는 docker kill 명령어가 존재한다.

sudo docker-compose up으로 포트를 실행하고

정상적으로 3000번 포트가 실행되고 있다.

sudo docker ps모습

sudo docker kill [컨테이너ID]를 실행해 보면?

정상적으로 종료가 된다.

사용하던 포트 역시 죽은 모습

다. docker killdocker stop의 차이점?

둘다 포트를 종료하는 것은 똑같지만 docker kill의 경우 바로 종료하고 docker stop의 경우 gracefully 하게 즉 모든 작업을 완료한 상태로 종료가 들어간다.

따라서 docker stop이 종료하는데 시간이 좀 걸리는 것이다.

참고

도커 생명주기

도커 명령어 모음

profile
적는 자만이 생존한다.

0개의 댓글