도커를 이용하면서 도커허브에 올리면 좋겠지만 내부에서 이용 하려고 할때 Open할수 없는 정보들이 있을수 있다.
하지만 private registry 를 이용하면 어느정도는 극복할수 있다.
사용할 환경은
- Vagrant
- docker
- docker-compoose
- Ubuntu 14.04
vagrant 를 이용하면 쉽게 구성이 가능하다.
ubuntu의 다른 버전이라면 docker.list파일에 아래의 내용으로 변경해서 설치하면된다.
docker-compose.yml 에 nginx 와 registry 설정을한다.
vagrant 에서 vagrant_data 로 연결하였으므로, vagrant_data 에서 작업을 한다.
작업할 디랙토리 구조느 아래와 같다.
data 디랙토리와 nginx 디랙토리를 만들어준다.
data 디랙토리는 registry의 data 경로로 이용하고, nginx 는 nginx 설정파일이 저장될 위치이다.
docker-compose 를 이용해서 docker 를 띄운후 결과를 확인해본다.
이제 정상적으로 동작하는것을 확인해보았다.
그럼 한번 Push 를 해보겠다.
내부에서 테스트를 해보려면.
다른 클라이언트에서 접속해서하려면.(vagrant 이므로 11.168.20.1 로 아이피가 지정되어있으므로 해당 아이피로 host 머신에서 접속테스트해보면된다.)
Setting Up Authentication
누구나 접근이 가능하게 하면 이또한 문제 그래서 htpasswd utlity 를 이용해서 접속하게 하는 방법을 해보겠다.
Username을 입력후 비빌번호를 입력해준다. 그런후
registry.conf를 변경해준다. 이미 위에서 입력한내용을 주석으로 풀어준다. 아래 내용의 주석을 풀어주면된다.
그런후 다시 실행해주면 인증이 필요하다고 한다.
생성한 아이디와 패스워드를 입력하면 정상적으로 되는것을 확인할수 있다.
https 설정까지는 현재까지는 필요없어
일단 http 를 통해 사용자인증이 되는 환경까지는 구성됐다.
이제 이용하면 될것 같다..
https 는 다음을 위해 남겨놓고 오늘은 여기까지…
참고자료
How To Set Up a Private Docker Registry on Ubuntu 14.04