반응형
해당 글에서는 Docker의 동작을 알아볼 수 있는 라이프사이클에 대해서 알아봅니다.
💡 [참고] Docker의 초기 환경설정 및 기초에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.
1) Docker 컨테이너 라이프 사이클
💡 Docker 컨테이너 라이프 사이클
- Docker 컨테이너의 생성부터 종료까지의 다양한 단계와 상태를 나타내는 생명주기를 의미합니다.
- 해당 단계에서는 컨테이너 생성, 시작, 정지, 일시 정지, 재시작 및 삭제가 포함되며, 각 단계는 Docker 환경에서 컨테이너를 관리하고 유지하는 데 특정한 목적을 가지고 있습니다.
2) 컨테이너 라이프 사이클 단계 및 CLI
0. 요약
컨테이너 라이프 사이클 단계 | 명령어 |
컨테이너 생성 (Create Container) | docker create --name <container-name> <image-name> |
컨테이너 시작 (Start Container) | docker start <container-id/name> |
컨테이너 실행 (Run Container) | docker run -it -d --name <container-name> <image-name> bash |
컨테이너 일시 정지 (Pause Container) | docker pause <container-id/name> |
컨테이너 재개 (Unpause Container) | docker unpause <container-id/name> |
컨테이너 중지 (Stop Container) | docker stop <container-id/name> |
컨테이너 재시작(Restart Container) | docker restart <container-id/name> |
컨테이너 종료(Kill Container) | docker kill <container-id/name> |
컨테이너 제거 (Remove Container) | docker rm <container-id/name> |
1. 컨테이너 생성 (Create Container)
💡 컨테이너 생성 (Create Container)
- Docker 이미지를 기반으로 컨테이너를 생성합니다.
- 컨테이너는 이미지의 인스턴스로, 실행 중인 프로세스 또는 애플리케이션을 포함합니다.
# Create Container Format
$ docker create --name <container-name> <image-name>
💡 Docker Image를 기반으로 컨테이너를 생성되었습니다.
💡 아래의 명령어를 통해 이미지를 기반으로 컨테이너를 생성하였습니다.
$ docker create --name my-nginx nginx
💡 컨테이너 생성이 완료되었습니다.
2. 컨테이너 시작 (Start Container)
💡 컨테이너 시작 (Start Container)
- 생성된 컨테이너를 시작합니다.
- 컨테이너는 시작될 때 설정된 명령을 실행하고, 호스트와 연결되고, 네트워크와 상호 작용합니다.
# Start Container Format
$ docker start <container-id/name>
💡 아래의 명령어를 통해 이미지를 기반으로 컨테이너를 생성하였습니다.
$ docker create --name my-nginx nginx
💡 생성된 컨테이너가 시작되었습니다.
3. 컨테이너 실행 (Run Container)
💡 컨테이너 실행 (Run Container)
- 컨테이너가 실행 중인 상태입니다.
- 컨테이너는 설정된 명령을 계속 실행하며, 애플리케이션 또는 서비스를 제공합니다.
# Run Container Format
$ docker run -it -d --name <container-name> <image-name> bash
💡 명령어 설명
- docker run은 Docker 컨테이너를 실행하는 명령어입니다.
- it는 "interactive"와 "tty"를 의미하는 옵션으로, 컨테이너의 셸과 상호작용할 수 있도록 해줍니다.
- d는 "detached"를 의미하는 옵션으로, 컨테이너가 백그라운드에서 실행되도록 합니다.
- -name my-nginx은 컨테이너에 사용자 지정 이름을 제공하는 옵션입니다.
- nginx는 NGINX 컨테이너의 이미지 이름입니다.
- bash는 컨테이너 내부에서 실행할 명령어로, 이 경우에는 bash 셸을 시작합니다.
💡 아래의 명령어를 통해 컨테이너를 실행합니다.
$ docker run -it -d --name my-nginx nginx bash
💡 컨테이너가 실행 중 상태가 되었습니다.
4. 컨테이너 일시 정지 (Pause Container)
💡 컨테이너 일시 정지 (Pause Container)
- 컨테이너를 일시적으로 정지시킵니다.
- 컨테이너는 일시 정지된 상태에서도 메모리 상태가 유지됩니다.
# Pause Container Format
$ docker pause <container-id/name>
💡 아래의 명령어를 통해 컨테이너를 일시정지 합니다.
$ docker pause my-nginx
💡 컨테이너가 일시정지 되었습니다.
5. 컨테이너 재개 (Unpause Container)
💡 컨테이너 재개 (Unpause Container)
- 일시 정시된 컨테이너를 다시 시작합니다.
- 컨테이너는 일시 정지된 상태에서 멈춘 지점부터 계속 실행합니다.
# Unpause Container Format
$ docker unpause <container-id/name>
💡 아래의 명령어를 통해 컨테이너를 재개합니다.
$ docker unpause my-nginx
💡 컨테이너가 재개되었습니다.
6. 컨테이너 중지 (Stop Container)
💡컨테이너 중지 (Stop Container)
- 컨테이너를 중지합니다.
- 컨테이너가 중지되면 실행 중인 프로세스도 함께 중지됩니다.
# Stop Container Format
$ docker stop <container-id/name>
💡 아래의 명령어를 통해 컨테이너를 중지합니다.
$ docker stop my-nginx
💡 컨테이너가 중지되었습니다.
7. 컨테이너 재시작(Restart Container)
💡 컨테이너 재시작(Restart Container)
- 컨테이너는 재시작될 수 있습니다.
- 이는 컨테이너의 실행을 중지한 후 다시 시작하는 것을 의미합니다. 재시작을 통해 컨테이너의 상태를 초기화하고 문제를 해결할 수 있습니다.
# Restart Container Format
$ docker restart <container-id/name>
💡 아래의 명령어를 통해 컨테이너를 재시작합니다.
$ docker stop my-nginx
💡 컨테이너가 재시작되었습니다.
8. 컨테이너 종료(Kill Container)
💡 컨테이너 종료(Kill Container)
- 컨테이너는 명시적으로 종료될 수 있습니다.
- 이는 컨테이너의 실행을 중지하고 관련된 리소스를 해제하는 것을 의미합니다.
# Kill Container Format
$ docker kill <container-id/name>
💡 아래의 명령어를 통해 컨테이너를 종료시킵니다.
$ docker kill my-nginx
💡 컨테이너가 종료되었습니다.
9. 컨테이너 제거 (Remove Container)
💡 컨테이너 제거 (Remove Container)
- 중지된 컨테이너를 제거합니다.
- 제거된 컨테이너는 더 이상 사용할 수 없습니다.
# Remove Container Format
$ docker rm <container-id/name>
💡 아래의 명령어를 통해 컨테이너를 제거시킵니다.
$ docker rm my-nginx
💡 컨테이너가 삭제되었습니다.
오늘도 감사합니다. 😀
반응형
'Docker > 이론 및 문법' 카테고리의 다른 글
[Docker] Docker 이해하기 -4 : Docker Compose 이해하고 구성하기 (3) | 2024.06.07 |
---|---|
[Docker] Docker 이해하기 -3 : Dockfile 이해하고 Nginx 구성 및 실행방법 (1) | 2024.02.01 |
[Docker] Docker 이해하기 -1 : 기초 이론(아키텍처, 흐름, 주요 용어) (2) | 2023.12.17 |