docker 개인 창고

개인 창고
Docker Hub 와 같은 공공 창 고 를 사용 하 는 것 이 불편 할 때 가 있 습 니 다.사용 자 는 개인 적 으로 사용 할 수 있 는 로 컬 창 고 를 만 들 수 있 습 니 다.
이 절 은 현지 창 고 를 어떻게 사용 하 는 지 소개 한다.
docker-registry 는 공식 적 으로 제공 하 는 도구 로 개인 미 러 창 고 를 구축 할 수 있 습 니 다.본 논문 의 내용 은 docker-registry v2.x 버 전 을 바탕 으로 한다.
docker-registry 용 기 를 설치 하여 실행 하면 공식 registry 미 러 를 가 져 와 서 실행 할 수 있 습 니 다.
4.567914.이것 은 공식 registry 미 러 를 사용 하여 개인 창 고 를 시작 합 니 다.기본적으로 창 고 는 용기 의/var/lib/registry 디 렉 터 리 에 생 성 됩 니 다.로 컬 지정 한 경로 에 미 러 파일 을-v 인 자 를 통 해 저장 할 수 있 습 니 다.예 를 들 어 아래 의 예 는 업 로드 된 미 러 를 로 컬/opt/data/registry 디 렉 터 리 에 놓 습 니 다.
$ docker run -d \
    -p 5000:5000 \
    -v /opt/data/registry:/var/lib/registry \
    registry

개인 창고 에 미 러 를 업로드,검색,다운로드 하여 개인 창 고 를 만 든 후 docker tag 를 사용 하여 미 러 를 표시 하고 창고 로 전송 할 수 있 습 니 다.예 를 들 어 사유 창고 의 주 소 는 127.0.0.1:5000 이다.
먼저 이 컴퓨터 에서 기 존의 미 러 를 살 펴 보 세 요.
$ docker image ls
REPOSITORY                        TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                            latest              ba5877dc9bec        6 weeks ago         192.7 MB

docker tag 를 사용 하여 ubuntu:latest 이 미 러 를 127.0.0.1:5000/ubuntu:latest 로 표시 합 니 다.
docker tag IMAGE[:TAG][REGISTRYHOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]。

$ docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest
$ docker image ls
REPOSITORY                        TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu                            latest              ba5877dc9bec        6 weeks ago         192.7 MB
127.0.0.1:5000/ubuntu:latest      latest              ba5877dc9bec        6 weeks ago         192.7 MB

docker push 를 사용 하여 표 시 된 미 러 를 업로드 합 니 다.
$ docker push 127.0.0.1:5000/ubuntu:latest
The push refers to repository [127.0.0.1:5000/ubuntu]
373a30c24545: Pushed
a9148f5200b0: Pushed
cdd3de0940ab: Pushed
fc56279bbb33: Pushed
b38367233d37: Pushed
2aebd096e0e2: Pushed
latest: digest: sha256:fe4277621f1026266932ddf760f5a756d2facd505a94d2da12f4f52f71f5a size: 1568

창고 에 있 는 거울 을 curl 로 확인 합 니 다.
$ curl 127.0.0.1:5000/v2/_catalog
{"repositories":["ubuntu"]}

여기 서{"reposcories":["ubuntu"]}을 볼 수 있 습 니 다.미 러 가 성공 적 으로 업로드 되 었 음 을 나타 냅 니 다.
이미 있 는 미 러 를 삭제 하고 개인 창고 에서 이 미 러 를 다운로드 하려 고 합 니 다.
$ docker image rm 127.0.0.1:5000/ubuntu:latest

$ docker pull 127.0.0.1:5000/ubuntu:latest
Pulling repository 127.0.0.1:5000/ubuntu:latest
ba5877dc9bec: Download complete
511136ea3c5a: Download complete
9bad880da3d2: Download complete
25f11f5fb0cb: Download complete
ebc34468f71d: Download complete
2318d26665ef: Download complete

$ docker image ls
REPOSITORY                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
127.0.0.1:5000/ubuntu:latest       latest              ba5877dc9bec        6 weeks ago         192.7 MB

주의 사항
만약 당신 이 127.0.0.1:5000 을 창고 주소 로 사용 하고 싶 지 않다 면,예 를 들 어 본 네트워크 의 다른 호스트 도 미 러 를 개인 창고 로 보 낼 수 있 도록 하려 고 합 니 다.너 는 예 를 들 어 192.168.99.100:5000 과 같은 내부 네트워크 주 소 를 사유 창고 주소 로 해 야 한다.이때 너 는 미 러 를 성공 적 으로 푸 시 할 수 없다 는 것 을 알 게 될 것 이다.
Docker 가 기본적으로 비 HTTPS 방식 으로 미 러 를 푸 시 하 는 것 을 허용 하지 않 기 때문이다.Docker 설정 옵션 을 통 해 이 제한 을 취소 하거나 HTTPS 를 통 해 접근 할 수 있 는 개인 창 고 를 볼 수 있 습 니 다.
Ubuntu 16.04+,Debian 8+,centos 7 은 systemd 를 사용 하 는 시스템 에 대해/etc/docker/daemon.json 에 다음 내용 을 기록 하 십시오(파일 이 존재 하지 않 는 다 면 새 파일 을 만 드 십시오)
{
  "registry-mirror": [
    "https://dockerhub.azk8s.cn"
  ],
  "insecure-registries": [
    "192.168.199.100:5000"
  ]
}

메모:이 파일 은 json 규범 에 부합 되 어야 합 니 다.그렇지 않 으 면 Docker 가 시작 할 수 없습니다.
다른 Docker Desktop for Windows,Docker Desktop for Mac 은 설정 한 Docker Engine 에서 편집 하고 위 와 같은 문자열 을 추가 하면 됩 니 다.링크:https://blog.51cto.com/14320361/2458049링크:https://yeasy.gitbooks.io/docker_practice/content/repository/registry.html

좋은 웹페이지 즐겨찾기