Docker의 Registry 사유창고 + Harbor 사유창고 구축
이전에 Registry 사유창고의 구축 방법을 상세하게 썼는데 이곳의 Registry는 약간의 설정이 다를 뿐이다. 만약에 Registry 사유창고를 구축하려면 Docker 거울의 창설+사유창고 구축과 그 사용 방법을 결합하는 것이 좋다. 이 블로그는 서로 다른 부분에 비해 자신에게 적합한 방안을 선택하는 것이 좋다.
1. Registry 개인 창고 구축
환경 준비:
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 구축과 같습니다.
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
-----이제 이 글을 끝내겠습니다. 읽어주셔서 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.