더북(TheBook)

직접 개발한 애플리케이션의 이미지를 관리하면 이미지 참조의 모든 구성 요소를 다 사용해야 한다. 로컬 컴퓨터에서만 사용한다면 이미지 이름을 마음대로 지어도 문제가 없지만, 레지스트리를 통해 다른 사람이 이미지를 사용하게 하려면 좀 더 상세한 정보를 이미지 이름에 포함시켜야 한다. 바로 이 이미지 참조가 레지스트리에서 특정한 이미지를 식별하는 식별자 역할을 하기 때문이다.

레지스트리와 태그 등의 정보는 따로 지정하지 않아도 도커가 미리 정해진 기본값을 사용한다. 레지스트리의 기본값은 도커 허브이고, 태그의 기본값은 latest다. 도커 허브의 도메인은 docker.io이므로 diamol/golang 이미지의 전체 이름, 즉 이미지 참조는 docker.io/diamol/golang:latest가 된다. 우리가 사용할 때는 이 두 가지 중 어느 것을 사용해도 무방하다. diamol은 도커 허브의 단체 계정 이름이다. 그리고 golang은 이 단체에 속한 리포지터리의 이름이 된다. 이 리포지터리는 공개 리포지터리이므로 누구든지 이미지를 내려받을 수 있다. 그러나 diamol 단체의 소속원만이 리포지터리에 이미지를 푸시할 수 있다.

규모가 큰 회사는 사내 네트워크나 전용 클라우드 환경에 자사의 도커 레지스트리를 별도로 꾸리는 경우가 많다. 이미지 참조의 첫 부분에 이런 인하우스 레지스트리의 도메인을 기재하면 도커는 도커 허브 대신 해당 레지스트리를 찾아간다. 만약 내가 r.sixeyed.com이라는 도메인에 나의 전용 레지스트리를 만들고 diamol/golang 이미지를 이 레지스트리에 푸시했다면, 이 이미지의 이미지 참조는 r.sixeyed.com/diamol/golang이 될 것이다. 이 이미지 참조에서 가장 중요한 부분은 바로 태그다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.