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 |
---|