docker ps
명령어나는 도커에서 현재 사용중인 포트를 보고 싶다...
GCP에 접속해서 VM인스턴스 탭에 들어가서 쉘을 하나 켜준다
이후 docker ps
명령어를 입력하면?
역시 한 번에 되는 것이 없다...
왜 안되는 건지 구글링 한 결과 관리자 권한으로 실행을 시켜야 한다
즉 docker ps
가 아닌 sudo docker ps
을 입력해주어야 한다.
sudo docker ps
를 입력하게 되면 현재사용하는 포트, 실행되고 있는 명령어 실행되고 있는 도커의 아이디 등 정보가 되고
실행한 결과에서 PORTS
를 보게되면 3000번을 사용하고 있다는 것이 보인다.
즉 우리는 저 3000번을 죽여야 한다.
여기서 COMMAND
는 실행되고 있는 명령어 이며 docker-entrypoint.s…
Dockerfile
에서 마지막으로 실행되고 있는 명령어를 의미함
나의 도커 파일이며 CMD
로 yarn start
가 실행되고 있기 때문에 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 kill
과 docker stop
의 차이점?둘다 포트를 종료하는 것은 똑같지만 docker kill
의 경우 바로 종료하고 docker stop
의 경우 gracefully 하게 즉 모든 작업을 완료한 상태로 종료가 들어간다.
따라서 docker stop
이 종료하는데 시간이 좀 걸리는 것이다.