티스토리 뷰

반응형

DockerRegistry 란? 도커이미지를 업로드하고 다운로드 할수 있는 저장소로 생각하면 쉽다. 우리가 maven 을 통해 deploy 하고 가져올수 있는것과 비슷하다. 기본적으로는 오픈된 https://hub.docker.com 을 이용해서 사용하는데, ip당 가져오는 횟수가 제한되어있기도 하고, 회사에서 별도로 이미지를 관리해야 하는 상황이 오면 결국 사내 DockerRegistry 를 운영할 수 밖에 없다. 여기서는 가장 쉽게 설치 가능한 방법을 알려주도록 하겠다.

 

1. 도커설치

초간단 설치가 가능한 이유는 Private Docker Registry 자체도 도커이미지로 존재하기 때문에 그걸 사용하기 때문이다. 물론 도커가 설치된 이후가 기본이겠지만 안되어있다면 도커부터 설치하도록 한다. 편의상 ROOT 계정이나 sudo 를 통해 권한을 확보하면 쉽게 설치 가능하다.

sudo wget -qO- http://get.docker.com/ | sh
sudo systemctl start docker
sudo systemctl enable docker
sudo chmod 666 /var/run/docker.sock

위에서 docker.sock 퍼미션 변경을 해주는 이유는 해당 권한을 부여하지 않으면 다음과 같이 퍼미션 오류가 날수 있는것 피하기 위해서이니 참고하도록 하자.

$ docker ps -a
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission denied

 

2. DockerRegistry 설치하기

docker 를 이용해서 기동하는 형태로 설치할 예정이므로, 컨테이너를 재기동했을때 업로드한 이미지가 유지될 수 있도록 볼륨마운트를 하고 실행하는걸 주의해야한다.  

#이미지가 영구히 저장될 폴더 생성
$ mkdir -p /home1/gildong/docker-registry-data
 
#5000번 포트로 docker-registry 를 기동하고, 이미지가 저장될 폴더를 볼륨 맵핑
$ docker pull registry
$ docker run --name local-registry -d --restart=always -p 5000:5000 -v /home1/gildong/docker-registry-data:/var/lib/registry/Docker/registry/v2 registry

위와 같이 실행하면, 5000번 포트로 Private Docker Registry 가 기동되고, push 하는 이미지는 /home1/gildong/docker-registry-data 폴더에 저장된다.

 

이때, 서버한대로 테스트하면 여기서 세팅이 끝나는데, 여러대의 서버를 사용할때 딴 서버에서 이미지를 가져올때 오류가 나는 경우가 있는데, 이때는 /etc/docker/daemon.json 파일을 수정해야 하는 경우가 있다. 이건 딴 글에 이어서 팁으로 적어두겠다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함