rueki
Docker repository 운영하기 본문
도커 저장소를 어떻게 다루는지에 대해서 이번에 다루어본다.
기본적으로 많이들 사용하고 알고 있는 것은 docker hub에서 이미지를 push, pull 하는 것인데
이는 public repositories로 볼 수 있다.
1. Public registry
도커 hub에서 이미지를 탐색할 수 있는 방법은 두 가지가 있다.
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
'쿠버네티스, 도커' 카테고리의 다른 글
도커 컨테이너 리소스 관리 (0) | 2021.11.18 |
---|---|
도커 컨테이너 실행, 관리 명령어 (0) | 2021.11.17 |
도커 컨테이너 만들어보기 (0) | 2021.11.17 |
도커 컨테이너 살펴보기 (0) | 2021.11.16 |
Docker image 명령어 (0) | 2021.09.27 |