![[Docker] 이미지 레지스트리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI7TOX%2FbtsFqLalsP8%2Fa2FnASkkRI4H42UALYnEwK%2Fimg.png)
이미지 레지스트리
이미지 스트리란 컨테이너 이미지를 저장하고 액세하는 데 사용되는 리포지토리입니다. GitHub의 경우 repository에 파일을 올리고 다운을 받을 수 있는 것처럼, DockerHub 또한 이미지 레지스트리에 저장된 이미지를 업로드 및 다운로드할 수 있습니다.
이미지 레지스트리는 아래 기능을 제공합니다.
- 이미지 공유
- 이미지 검색
- 이미지 버전 관리
- 보안
- 파이프라인
이미지 버전을 관리하기 때문에 특정 버전의 이미지를 다운받을 수 있고, 파이프라인 덕분에 이미지를 업로드할 시에 자동으로 배포할 수 있습니다.
퍼블릭 및 프라이빗 레지스트리
이미지 레지스트리의 경우 public과 private 유형이 존재합니다.
퍼블릭 레지스트리는 누구나 접근할 수 있는 공개된 레지스트리입니다. 공개적으로 배포하고자 하는 이미지를 업로드할 수 있으며, 누구나 다운로드할 수 있습니다.
프라이빗 레지스트리는 인증된 사용자만 접근할 수 있는 비공개 레지스트리입니다. 보안 및 제어가 필요한 경우, 조직 내에서 내부적으로 사용되는 이미지를 저장하는 데 사용됩니다. 주로 기업 사내망 용으로 사용됩니다.
이미지 다운로드
컨테이너를 실행하기 위해서 이미지를 다운받기 위해서는 아래 명령어를 사용해야 합니다.
// 로컬 스토리지로 이미지 다운로드
docker pull 이미지명
이미지를 다운받는 과정은 다음과 같습니다.
먼저 컨테이너를 실행하기 위해서 docker run nginx 명령어를 입력합니다. 컨테이너를 만들기 위해서는 이미지가 필요로 합니다. 따라서 컨테이너를 생성하기 위한 이미지가 로컬 스토리지에 저장되어 있는지 먼저 확인합니다. 존재한다면 해당 이미지를 사용하게 됩니다. 존재하지 않는다면 온라인상에 있는 public 레지스트리에 접근하여 이미지를 다운받습니다. 다운로드한 이미지는 로컬 스토리지에 저장되고 이를 컨테이너 생성하는 데 사용합니다.
이미지 업로드
public 레지스트리에 이미지를 업로드 하기 위해서는 아래 명령어를 사용합니다.
// 이미지 레지스트리에 이미지 업로드
docker push 이미지명
로컬 레지스트리에 존재하는 이미지를 온라인 상에 존재하는 이미지 레지스트리에 업로드할 수 있습니다. 이미지를 업로드하기 위해서는 다음과 같이 작성합니다.
docker push 레지스트리 계정명/이미지이름:버전
로컬 레지스트리에 먼저 다운해놓은 nginx 이미지에 태그를 달아줍니다. 태그란 기존의 이미지에 새로운 이름을 달아준다고 생각하면 됩니다. 즉 동일한 이미지에 다른 이름을 달아준 것일 뿐 새로운 이미지가 생성되는 것이 아닙니다.
[2024 NEW] 개발자를 위한 쉬운 도커 강의 - 인프런
현업 개발자가 도커를 사용한 경험을 녹여낸 새로운 커리큘럼으로 기존 교재 및 강의와 차별된 강의를 제공합니다. 단순한 명령어 사용법이 아닌 도커를 왜 사용해야하는지 대한 근본적인 질문
www.inflearn.com
37. [Docker] Docker image에서 Tag가 의미하는 것
도커에서 이미지는 레이어 구조이며, 그것이 어떻게 구성되어 있는지를 지난 포스트인 http://blog.na...
blog.naver.com