-
Docker Container 중지 & 재시작Infra/컨테이너 2022. 8. 22. 15:18
반드시 알고 있어야 하는 핵심 명령어
docker ps
docker ps -a
모든 Container를 목록으로 보여준다. 하지만 오로직 실행 중인 Container만 거기에 해당하며, 실행이 중지된 Container도 포함해서 목록으로 보고 싶다면 option -a를 추가해서 명령어를 실행해야 한다.
docker ps --help
docker ps에 사용된느 가능한 모든 구성 option이 표시된다.
Docker로 할 수 있는 중요한 한 가지는 실행이 중지된 Container를 실행할 수 있다는 것이다. 또 한 새로운 Container를 항상 docker run으로 실행할 필요는 없다. docker run을 사용하면 1)Image를 기반으로 새로운 Container를 만들고 2)이 후에 만들어진 Container가 실행되는 것 까지 동작한다.
Docker Hub에서 base image로 맞바로 Container를 만들고 또 실행하면 해당 Container에 포함된 Application의 종속성 및 소스 코드 어떤 것도 변경되지 않고 새로운 Container가 만들어지고 실행되기 때문이다.
또 종속성 이나 소스코드의 변경으로 Imge가 변경되지 않는 경우에는 완전 새로운 Container를 만들거나 실행시킬 필요가 없다. 그냥 기존에 만들어져 있던 Container를 restart해도 된다.
이를 위해 docker ps -a를 이용해서 중지된 Container 검색하고 목록화해서 볼 수 있다. 또 해당 명령어를 사용해서 최근에 작업한 Docker Container의 히스토리도 볼 수 있다.
docker start
코드와 도커 파일이 아무 것도 변경되지 않은 경우 종료된 가장 최근 Container를 가져와서 bold_boyd docker start(컨테이너 이름 또는 ID)로 다시 시작할 수도 있다.
해당 명령어로 실행하면 Container가 백업된다. 이제 다른 방식으로 Container가 시작하는 것을 볼 수 있다. docker run과 같이 터미널을 블록하지는 않지만 해당 Container는 실행 중이라고 생각할 수 있다. 실행중인 Container만 목록화하는 docker ps로 검색해도 해당 Container가 실행 중인 것을 확인 할 수 있다.
또한 해당 Container가 생성될 당시에 매칭된 port인 7070의 localhost를 브라우저에 검색해보면 Container안에 노드 서버 Application이 정상적으로 수신대기를 하고 있는 것을 확인 할 수 있다.
docker start (컨테이너 이름 또는 ID)를 통해 시작된 Container는 시작되긴 했지만 실제로 터미널을 통해 명령어로 상호작용하거나 log를 볼 수 없다. 대신에 해당 Container를 restart한 다음 restart한 터미널에서 계속 다른 명령어들을 입력할 수 있었다.
'Infra > 컨테이너' 카테고리의 다른 글
Docker Attached & Detached Container (0) 2022.09.14 Docker Image와 Comtainer 관리 (0) 2022.08.22 Docker Layer를 기반으로 하는 아키텍쳐 Image (0) 2022.08.21 Docker custom Image의 동작방식(소스코드에 변경사항이 있을 경우) (0) 2022.08.21 Docker Custom Image (0) 2022.08.20