이미지 실행 vs 이미지 빌드 vs 이미지 커밋
이미지를 실행하는것과 빌드하는것은 같은말이 아니다. 어떤 차이점이 있을까?
이미지 실행
- 이미지를 기반으로 컨테이너를 생성하고 실행하는 것을 말한다.
- 'docker run' 명령어를 사용해서 이미지를 컨테이너로 객체화 하며, 이를 통해서 애플리케이션을 실행할 수 있다.
- 실행중인 컨테이너는 이미지의 객체(인스턴스)이며, 해당 이미지를 기반으로 동작을한다.
$ sudo docker run image
이미지 빌드
- 'Dockerfile' 이라는 설정파일을 사용하여 도커 이미지를 정의하고, 'docker build' 명령어를 사용하여 실제 이미지를 빌드하는 것을 말한다.
- 빌드 프로세스에서는 기존의 베이스 이미지를 가져와서 필요한 소프트웨어, 설정, 의존성등을 추가로 커스텀하여 이미지를 생성한다.
$ sudo docker build -t image .
이미지 커밋
- 실행되어있는 컨테이너를 커밋을 하게되면 새로운 이미지가 생성이된다.
summary
- 이미지 실행은 이미지를 기반으로 컨테이너를 생성하여 실행하는것이며, 이미지 빌드는 'Dockerfile'을 사용하여 새로운 이미지를 생성하는 것이다.
- 이미지 빌드는 주로 애플리케이션을 패키징하고 배포하기 위해 사용되며(의존성 등을 유지하기 위해), 이미지 실행은 실제로 애플리케이션을 실행할 때 사용된다.
- 이미지 빌드와 이미지 커밋은 직접 이미지를 만드는것이며, 이미지 실행은 가지고 있는 이미지를 실행하여 컨테이너를 만드는 것이다.
