rueki

Docker repository 운영하기 본문

쿠버네티스, 도커

Docker repository 운영하기

륵기 2021. 11. 17. 16:33
728x90
반응형

도커 저장소를 어떻게 다루는지에 대해서 이번에 다루어본다.

기본적으로 많이들 사용하고 알고 있는 것은 docker hub에서 이미지를 push, pull 하는 것인데

이는 public repositories로 볼 수 있다.

 

1. Public registry

도커 hub에서 이미지를 탐색할 수 있는 방법은 두 가지가 있다.

- https://hub.docker.com

 

Docker Hub

 

hub.docker.com

- 명령어 입력

docker search "찾고자 하는 이미지 키워드"

docker search mysql

이미지 이름이나 description에서 내용을 토대로 검색이 된다.

찾은 이미지를 다운로드 받아보자

 

docker pull "이미지 이름 : tag"

docker pull mysql:latest

 

이제 다운로드 받은 이미지를 내 개인 레포지토리에 올려보고자 하는데 이전에 해야할 것이 있다.

다운로드 받은 것을 그대로 올릴 수 없기에 tag를 수정해야한다.

 

docker tag 이미지:태그(버전) 사용자계정명/이미지:태그(버전)

docker tag mysql:latest ~~~~~/mysql:latest

물결 부분에는 내 도커 아이디를 사용해보고자 한다.

태그를 변경했더니 기존에 다운받은 이미지 외에도 이름만 바뀐 이미지가 하나 더 생긴 것을 확인할 수 있었다.

이제는 그래서 push가 가능하게 되었다.

docker push ~~~~~/mysql:latest

도커 허브의 내 repository에 들어가면 저렇게 push가 된 것을 볼 수 있다.

이를 통해서 public 이미지들을 다루는 법을 알아보았고 이제 private하게 관리하는 법을 다루어보자.

 

2. Private registry

외부 네트워크가 안되는 환경 및 개인적으로 및 소규모로 환경 공유를 하고 싶은 경우에

사용할 수가 있다.

 

Registry를 관리하기 위해서는 아래 사진의 이미지를 우선 설치해야한다.

https://hub.docker.com/_/registry

docker run -d -p 5000:5000 --restart always --name registry registry:2

5000번 포트를 통해서 이제 관리할 수 있게 된다.

public 부분에서 했던 것처럼 여기서도 tag를 해야하는데 위에서와는 다르게

tag를 아래와 같이 해야한다.

private registry이기 때문에 위에서 포트포워딩한 포트를 태그로 사용해야 한다.

docker tag mysql:latest localhost:5000/mysql:latest

이제 이것을 내 repository에 push 해보자.

docker push localhost:5000/mysql:latest

 

728x90
반응형
Comments