반응형
도커에서 docker run 혹은 docker-compose up 시 이미지를 사용하는 과정을 간단하게 알아보자
1. 로컬 이미지 확인: 도커는 먼저 도커 엔진 내부에 존재하는 로컬 이미지 저장소에서 요청된 태그나 버전과 일치하는 이미지를 찾는다.
2. 원격 저장소(도커 허브 등)에서 다운로드: 로컬에 해당 이미지가 없다면, Docker Hub 또는 지정된 다른 원격 이미지 저장소에서 이미지를 다운로드하고 존재하면 해당 이미지를 사용한다.
3. 이미지 빌드: 만약 docker-compose.yml 파일에서 Dockerfile를 이용해 이미지를 빌드하도록 지시하는 경우(build 지시어 사용), 도커는 해당 파일에 명시된 지시에 따라 이미지를 로컬에서 빌드한다. 이 때 로컬에 이미지가 없는 경우 또한 원격 저장소에서 이미지를 다운로드 후 빌드한다.
- 이미지가 이미 존재하고 build 지시어 미 사용: Docker compose는 로컬에 존재하는 이미지를 사용하여 컨테이너를 생성한다.
- build 지시어 사용: Docker compose는 docker-compose.yml 파일의 build 지시어에 따라 Dockerfile을 사용하여 이미지를 빌드한다. 이 때 빌드 과정에서 새로운 이미지가 생성되어 도커 엔진 내부의 로컬 이미지 저장소에 저장된다.
- image와 build 지시어가 함께 사용되는 경우: Docker compose는 먼저 build 지시어에 따라 이미지를 빌드하고, image 지시어에 지정된 태그로 이미지를 로컬 저장소에 저장한다. 만약 동일한 이름과 태그를 가진 이미지가 이미 존재한다면 새로 빌드한 이미지로 덮어쓴다.
4. 이미지 업데이트: 이미지 이름과 태그는 같지만 내용이 변경되었을 경우(예: 원격 저장소에 새로운 버전이 푸시되었을 경우), docker pull 명령어를 사용하여 수동으로 최신 이미지를 가져오거나 docker-compose pull을 사용하여 도커 컴포즈로 이미지를 업데이트할 수 있다.)
5. 컨테이너 생성 및 재생성: 기존 컨테이너에 변경된 이미지를 사용해야 할 경우, 컨테이너를 삭제하고 새 이미지를 사용하여 컨테이너를 재생성 해야한다.
반응형
'Docker & Kubernetes' 카테고리의 다른 글
Docker Compose에서 logging 설정을 활용한 로그 관리 (0) | 2024.08.24 |
---|---|
Docker Compose로 /etc/hosts 파일에 항목 추가하기 (0) | 2024.07.13 |
도커 컴포즈 입문: 멀티 컨테이너 애플리케이션 간편하게 관리하 (0) | 2024.04.11 |
도커 명령어와 실습으로 배우는 컨테이너 기초 (1) | 2024.01.27 |
쿠버네티스 입문: 핵심 개념과 용어 가이드 (0) | 2024.01.20 |