빅토리 코딩
article thumbnail
728x90
반응형
요즘 회사에서 서서히 진행하는 프로젝트들이 클라우드를 사용하기 시작했다.. 미뤄났던 k8s를 구축을 시작 하려는데 시작부터,,,,pod가 뜨지않고 오류가 난다...  해서 해당 부분의 에러는 docker repository 설정이 안되어 있어 수정 및 추가하면서 기록을 남긴다.

개요

Docker Repository는 Docker 이미지를 저장하고 배포하기 위한 중앙 위치이다.  Docker Repository를 만들고 빌드하는 것 외에도 다른 Repository의 기존 Docker 이미지를 사용할 수도 있다. 가장 널리 사용되는 Docker 레지스트리는 애플리케이션을 신속하게 배포하는 데 사용할 수 있는 방대한 사전 구축 이미지 모음을 제공하는 Docker Hub다.  private Repository를 생성하려면 Docker Hub를 사용하거나 Docker Registry 또는 Harbor와 같은 도구를 사용하여 자체 프라이빗 레지스트리를 설정할 수 있다. k8s는 Doker Repository에서 docker pull 명령어로 docker image를 불러와 사용할 수 있다.
나는 혼자 서버에서 테스트 사용하므로 dorker에 repository를 내부로 띄어서 사용하는 방법으로 사용해 보겠다.

구현

docker repository image가 필요하므로 명령어를 사용하여 image를 추가한다.

docker pull registry

그다음 pull 받은 repogitory를 실행해본다.(docker-repository의 기본 포트는  5000이다.)

docker run --name local-registry -d --restart=always -p 5000:5000 -v /data/registry:/var/lib/registry/Docker/registry/v2 registry

-v 옵션으로 volume을 연결한이유는 Container가 다운되더라도 저장된데이터를 그대로 로딩할 수 있게 설정하려고 추가 하였다. 

정상적으로 registry가 띄어졌는지 확인

그 다음 image를 registry로 push 하면 된다. 나는 tag를 이용하여 push를 하기위해 기존에 있는 image에 tag를 설정하였다.

docker tag springboot01 192.168.0.103:5000/springboot01

 

설정후 해당 이미지를 push한다.

docker push 192.168.0.103:5000/springboot01

push가 잘됐는지 확인

curl -X GET http://192.168.0.103:5000/v2/_catalog

해당이미지가 잘 푸쉬되었다.

그리고 Docker registry를 연결할때 보통 https를 요구한다 하지만 나는 테스트 서버에서 하기때문에 http로 연결하기 위해 특정 설정을 해주어야한다. "vi /etc/docker/daemon.json"로 파일을 생성하여 해당내용을 추가해야한다.

{
        "insecure-registries":["192.168.0.103:5000"]
}

 

728x90
반응형

'Server > docker' 카테고리의 다른 글

Docker 이미지 생성 및 build  (0) 2023.04.26
profile

빅토리 코딩

@빅토리 코딩

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그