Docker의 Registry 사유창고 + Harbor 사유창고 구축

5828 단어
블로그 개요:
  • 1. Registry 사유창고 구축
  • 2. Harbor 개인 창고 설정
  • 이 블로그는 두 가지 서로 다른 Docker 개인 창고를 구축하는 방법을 썼는데 모두 하나의 Docker 서버를 바탕으로 해야 한다. 비교해 보면 Harbor 기능이 더 강하다.
    이전에 Registry 사유창고의 구축 방법을 상세하게 썼는데 이곳의 Registry는 약간의 설정이 다를 뿐이다. 만약에 Registry 사유창고를 구축하려면 Docker 거울의 창설+사유창고 구축과 그 사용 방법을 결합하는 것이 좋다. 이 블로그는 서로 다른 부분에 비해 자신에게 적합한 방안을 선택하는 것이 좋다.
    1. Registry 개인 창고 구축
    환경 준비:
  • 두 대의centos7.3, 한 대는Docker 사유창고 서버이고 다른 한 대는테스트단이며 두 대는ping통해야 한다.
  • 참고박문: Docker의 설치 상세 설정, 두 서버에 docker 환경을 설치합니다.

  • 1. 첫 번째 Docker 개인 창고 서버를 설정하기 시작합니다.
    [root@docker ~]# docker pull registry     #  registry  
    [root@docker ~]# docker run -tid --name registry --restart=always -p 5000:5000 -v /data/registry:/var/lib/registry registry
    #     ,        :
    # -tid:       ,            
    # --name registry  :         
    #  --restart=always:       docker        
    # -p:            ,           ,          ,registry      5000
    # -v:             ,           ,           
    [root@docker ~]# docker images   #       
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              latest              0f3e07c0138f        2 weeks ago         220MB
    registry            latest              f32a97de94e1        7 months ago        25.8MB
    [root@docker ~]# docker tag centos:latest 192.168.20.7:5000/centos:latest   
    #      ,            
    # :           :192.168.20.7:5000/XXX(    IP:5000  /    )
    [root@docker ~]# vim /usr/lib/systemd/system/docker.service   #  docker     ,        
    ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
    #       ,     “--insecure-registry”        IP   ,         
    [root@docker ~]# systemctl daemon-reload     #      
    [root@docker ~]# systemctl restart docker    #  docker  
    [root@docker ~]# docker push 192.168.20.7:5000/centos:latest     #         
    [root@docker ~]# curl 192.168.20.7:5000/v2/_catalog   #          
    {"repositories":["centos"]}
    [root@docker ~]# curl 192.168.20.7:5000/v2/centos/tags/list   #         
    {"name":"centos","tags":["latest"]}

    2. 두 번째 Docker 서버는 다음과 같은 작업을 수행합니다.
    [root@docker02 ~]# vim /usr/lib/systemd/system/docker.service   #       
    ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:5000
    #       ,  “--insecure-registry”       IP   
    #     ,      
    [root@docker02 ~]# systemctl daemon-reload   #      
    [root@docker02 ~]# systemctl restart docker    #  docker  
    [root@docker02 ~]# docker pull 192.168.20.7:5000/centos:latest
    #           
    [root@docker02 ~]#  docker images      #       

    2. Harbor 개인 창고 설정
    Harbor 개인 창고는 첫 번째Registry 개인 창고와 비교하면 기능이 매우 강하고 웹 그래픽 관리를 지원하기 때문에 사용을 추천합니다.
    환경은 다음과 같이 Registry 구축과 같습니다.
  • 두 대의centos7.3, 한 대는Docker 사유창고 서버이고 다른 한 대는테스트단이며 두 대는ping통해야 한다.
  • 참고박문: Docker의 설치 상세 설정, 두 서버에 docker 환경을 설치합니다.

  • 1、github를 엽니다.com 홈페이지, 로그인 페이지의 오른쪽 상단에서 compose를 검색해서 docker/compose를 찾으면releases를 찾습니다.https://github.com/docker/compose/releases)
    원하는 버전에서 사용할 수 있는 두 명령을 복사하여 첫 번째 Docker 서버에서 순서대로 수행합니다.
    [root@docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2  #     
    [root@docker ~]# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    #          
    [root@docker ~]# chmod +x /usr/local/bin/docker-compose  #         
    [root@docker ~]# docker-compose -version   #       
    docker-compose version 1.24.1, build 4667896b

    2. github 홈페이지에 가서 Harbor를 검색하고 goharbor/harbor를 클릭한 다음에 "releases"를 클릭하여 자신의 필요에 따라 해당하는 버전을 다운로드하여 서버에 업로드한다(사이트 주소는 다음과 같다:https://github.com/goharbor/harbor/releases온라인으로 설치된 패키지를 다운로드할 수도 있습니다.
    [root@docker ~]# tar zxf harbor-offline-installer-v1.7.4.tgz -C /usr/src
    #              
    [root@docker src]# cd /usr/src/harbor/    #          
    [root@docker harbor]# vim harbor.cfg     #        
               ..............#      
    hostname = 192.168.20.7    # hostname     IP
    harbor_admin_password = Harbor12345    #        harbor       
    #     “admin”,   “Harbor12345”
               ..............#      
    [root@docker harbor]# ./install.sh      #           
    [root@docker harbor]# netstat -antp | grep 80    #  80      
    [root@docker harbor]# vim /usr/lib/systemd/system/docker.service   #  docker     
    ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20.7:80
    #     ,  “--insecure-registr”    harbor IP      
    [root@docker harbor]# systemctl daemon-reload   #        
    [root@docker harbor]# systemctl restart docker    #  docker  
    [root@docker harbor]# docker-compose stop    #      
    [root@docker harbor]# docker-compose start    #      

    3. 브라우저를 사용하여 Harbor 서버의 IP 주소에 액세스하고 프로필에 지정된 사용자 이름과 비밀번호로 로그인합니다(기본 사용자는 "admin", 비밀번호는 "Harbor12345").
    **
    4、"새 프로젝트"를 클릭:
    5. 프로젝트 이름을 정의합니다.
    6. Harbor 서버로 돌아가서 Harbor가 거울을 업로드할 생각을 하기 시작한다.
    [root@docker harbor]# docker login -u admin -p Harbor12345 192.168.20.7:80   #      harbor
    [root@docker harbor]# docker tag centos:latest 192.168.20.7:80/test/centos:latest    #      
    #      harbor       ,  test    harbor     
    [root@docker harbor]# docker push 192.168.20.7:80/test/centos:lates   #   harbor

    7. 테스트, 두 번째 Docker의 테스트단 구성은 다음과 같다.
    [root@docker02 ~]# vim /usr/lib/systemd/system/docker.service    #       
    ExecStart=/usr/bin/dockerd -H unix:// --insecure-registry 192.168.20
    .7:80
    #  Harbor    IP   80  
    [root@docker02 ~]# systemctl daemon-reload
    [root@docker02 ~]# systemctl restart docker    #  docker
    [root@docker02 ~]# docker login -u admin -p Harbor12345 192.168.20.7:80
    #       
    [root@docker02 ~]# docker pull 192.168.20.7:80/test/centos:latest
     #         docker        

    -----이제 이 글을 끝내겠습니다. 읽어주셔서 감사합니다.

    좋은 웹페이지 즐겨찾기