Docker registry 웹 속눈썹 Tanker 소개

3072 단어 Docker
RECRUIT 테크놀로지의 12일째다.
Docker가 인프라를 구축하기 시작했을 때, 나는 반드시 Registry를 구축해야 할 때가 있다고 생각한다.
레지스트리에 등록된 이미지 일람표를 보고 싶을 때는 기본적으로 지령선에서 확인하는데 젠킨스와 써클-II의 웹 화면을 보면 "그 인상인가...?"이렇게 생각할 때 웹 화면에서 Registry의 이미지를 한눈에 보고 싶다.
Tanker는 당사@nysd가 제작한 Docker registry의 홈페이지입니다.js버전도 준비했지만 삭제하기로 결심했습니다. 노드를 싫어하는 것이 아니라 앞으로의 유지보수를 위해 goo버전에 초점을 맞추기 위해서입니다.

Tanker 기능


창고.Tanker는 이미지를 한눈에 볼 수 있는 것 외에 다음과 같은 기능을 갖추고 있다. 태그 또는 이미지 이름으로 단순 검색 이미지 삭제 Tanker 설치Tanker는 api 부분만 있고 프론트 데스크는 Backbone입니다.js로 만들었어요. api 부분 설치는 매끄러운 종이 한 장뿐입니다. 네그라니로 간단한api 샘플을 제작하는 것을 참고하시기 바랍니다.
    #registry一覧からイメージを取得するapiの定義
      mux.HandleFunc("/docker/api/images", func(w http.ResponseWriter, r *http.Request) {
            success := func(b []byte) { w.Write(b) }
            error := func(statusCode int) { w.WriteHeader(statusCode) }
        #registryにimage一覧を取りに行ってそのまま出力
            httpGet(fmt.Sprintf("%s/v1/images/%s/json", *dockerapi, r.URL.Query().Get("id")), success, error)
        })
그 밖에 주요 구성 요소는 다음과 같다.
  • HTTP 중간부품: server.go
  • 패키지 관리: codegangsta/negroni
  • 리지스트리의 정보 취득 부분으로 mattn/gom 활용
  • 시험해 보다


    그럼 제가 실제로 Tanker를 조작해 보겠습니다.
    Tanker 시작
    기본적으로 서버는 3000번 포트에서 시작됩니다.
    git clone https://github.com/ainoya/tanker.git && cd tanker
    go get github.com/mattn/gom # Install gom, a package manager
    gom install
    gom run server.go
    
    Registry 시작
    5000번 포트로 Registry를 이동합니다.
    docker run -p 5000:5000 registry
    
    이렇게 되면 리지스트리에는 아무것도 없고 탱커의 화면은 무미건조하고 봐도 재미가 없다.
    적절한 레이블로 Registry 이미지에 push 이미지를 표시한 후 화면을 확인합니다.
    for i in $(seq 1 9); do docker tag centos localhost:5000/centos-test:v0.$i;docker push localhost:5000/centos-test:v0.$i;done
    
    open http://localhost:3000/docker
    # イメージ名"centos-test"のタグ一覧を取得
    open http://localhost:3000/docker/view/tags/library/centos-test
    
    보셨습니까?

    Tanker의 향후


    지금은 필요하다고 여겨지는 최소한의 기능만 구현됐지만, 앞으로 계속 개발하면 다음과 같은 기능이 있으면 흥미롭다.
  • mesos와kubernetes와의 협업
  • registry의 조작 UI.gorilla/websocket 등 외부 호스트에서 온 이미지 가져오기 기능 등.
  • 생각나는 거 있으면 DockerHub전에 사양하지 마세요!오늘은 여기까지. 내일도 기대해주세요!
    2014/12/12 추기: 다 쓴 후에 issue...기능이 완비되어 사용하기에 편리하다는 것을 알았습니다.

    좋은 웹페이지 즐겨찾기