centos7 docker1.9 사유창고 구축

registry2.x버전이 1버전보다 빠르고 인증
환경 계획:
docker 개인 창고 주소: 192.168.0.167
docker 클라이언트 주소: 192.168.0.168
• 방화벽과selinux 닫기
  systemctl stop firewalld.service
  systemctl disable firewalld.service
  
  # vi /etc/sysconfig/selinux 
         SELINUX=disabled
  # setenforce 0

서비스 단말기
1. docker 설치 및 시작
  yum -y install  docker
  service docker   start
  chkconfig docker  on

2. 로컬 개인 창고를 끌어오기registry #registry:2.1.1은 2 버전
[root@localhost ~]# docker pull registry
Trying to pull repository docker.io/registry ...
24dd746e9b9f: Download complete 
706766fe1019: Download complete 
a62a42e77c9c: Download complete 
2c014f14d3d9: Download complete 
b7cf8f0d9e82: Download complete 
d0b170ebeeab: Download complete 
171efc310edf: Download complete 
522ed614b07a: Download complete 
605ed9113b86: Download complete 
22b93b23ebb9: Download complete 
2ac557a88fda: Download complete 
1f3b4c532640: Download complete 
27ebaac643a7: Download complete 
ce630195cb45: Download complete 
Status: Downloaded newer image for docker.io/registry:latest

3. registry 미러 보기
[root@localhost ~]# docker images 
docker.io/busybox            latest              0064fda8c45d        5 days ago          1.113 MB
docker.io/registry           latest              105c6c9299d9        5 days ago          423.3 MB
docker.io/centos             latest              ce20c473cd8a        6 days ago          172.3 MB

4. 개인 창고 이미지 기반 컨테이너 실행
기본적으로 창고는 용기의/tmp/registry 디렉터리에 저장됩니다. 그러면 용기가 삭제되면 용기에 저장된 렌즈도 잃어버립니다. 따라서 우리는 일반적으로 로컬 디렉터리를 용기의/tmp/registry에 마운트합니다. 두 디렉터리에 모두 있습니다.
・registry의 기본 저장 경로는/tmp/registry이며 임시 디렉터리일 뿐 일정 시간 후에 사라집니다
・그래서 -v 매개 변수를 사용하여 로컬 영구 경로를 지정,
[root@localhost ~]# docker run --restart=always -d -p 5000:5000 -v /opt/data/registry:/tmp/registry docker.io/registry  
bb2c0d442df94e281479332c2608ef144f378e71743c5410e36b80c465771a95   
root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS                    NAMES
bb2c0d442df9        docker.io/registry:latest   "docker-registry"   10 seconds ago      Up 7 seconds

5. 사유창고 방문
[root@localhost ~]# curl 127.0.0.1:5000/v1/search
{"num_results": 0, "query": "", "results": []}    #      ,           

6. Docker HUB에서 미러 테스트 잡아당기기
[root@localhost ~]#docker pull busybox 
[root@localhost ~]#docker images 
REPOSITORY                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
docker.io/busybox            latest              0064fda8c45d        5 days ago          1.113 MB
docker.io/registry           latest              105c6c9299d9        5 days ago          423.3 MB
docker.io/centos             latest              ce20c473cd8a        6 days ago          172.3 MB

7. 미러 링크 생성을 기본 미러에 레이블 지정
[root@localhost ~]# docker tag docker.io/busybox 192.168.0.167:5000/busybox 
[root@localhost ~]# docker  images 
REPOSITORY                   TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
192.168.0.167:5000/busybox   latest              0064fda8c45d        5 days ago          1.113 MB
docker.io/busybox            latest              0064fda8c45d        5 days ago          1.113 MB
docker.io/registry           latest              105c6c9299d9        5 days ago          423.3 MB
docker.io/centos             latest              ce20c473cd8a        6 days ago          172.3 MB

8. docker 프로필을 수정하고 개인 창고 URL을 지정합니다
[root@localhost ~]# vim vim /lib/systemd/system/docker.service 
    
ExecStart=/usr/bin/docker daemon -H fd://  --insecure-registry 192.168.0.98:5000
[root@localhost ~]# service docker restart

9. 로컬 개인 창고에 이미지 업로드
docker push 192.168.0.167:5000/busybox

10. 개인 창고에 대응하는 거울이 있는지 보기
      192.168.0.167:5000/v2/_catalog

11. 미러링된 스토리지 디렉토리 및 파일 보기
[root@localhost ~]# tree /opt/data/registry/repositories/
/opt/data/registry/repositories/
└── library
    └── ssh
        ├── _index_images
        ├── json
        ├── tag_latest
        └── taglatest_json
 
2 directories, 4 files

클라이언트
1. docker 설치 및 시작
  yum -y install  docker
  service docker  start
  chkconfig docker  on

2. docker 프로필을 수정하고 개인 창고 URL을 지정합니다
[root@localhost ~]# vim vim /lib/systemd/system/docker.service 
    
ExecStart=/usr/bin/docker daemon -H fd://  --insecure-registry 192.168.0.98:5000'
[root@localhost ~]# service docker restart

3. 테스트, 방금 올린 이미지 다운로드
 [root@localhost ~]# docker pull 192.168.0.167:5000/busybox
 [root@localhost ~]# docker images
 REPOSITORY                           TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
192.168.0.167:5000/busybox           latest              0064fda8c45d        5 days ago          1.113 MB
docker.io/registry                   latest              105c6c9299d9        5 days ago          423.3 MB
docker.io/centos                     latest              ce20c473cd8a        6 days ago          172.3 MB
docker.io/atcol/docker-registry-ui   latest              d838355ad903        6 months ago        890.5 MB

좋은 웹페이지 즐겨찾기