programing tip

기본 Docker 레지스트리를 docker.io에서 개인 레지스트리로 변경하는 방법은 무엇입니까?

itbloger 2020. 8. 21. 07:22
반응형

기본 Docker 레지스트리를 docker.io에서 개인 레지스트리로 변경하는 방법은 무엇입니까?


기본적으로 다음 명령을 실행하면 :

sudo docker pull ruby:2.2.1

기본적으로 docker.io 공식 사이트에서 가져옵니다.

Pulling repository docker.io/library/ruby

개인 레지스트리로 어떻게 변경합니까? 즉, 내가 발행하면

sudo docker pull ruby:2.2.1

내 개인 레지스트리에서 가져 오며 출력은 다음과 같습니다.

Pulling repository my_private.registry:port/library/ruby

업데이트 : 귀하의 의견에 따라 현재 기본 레지스트리를 변경할 수 없습니다 . 자세한 내용은 이 문제 를 참조하십시오.

호스트와 포트를 자신의 것으로 대체하여이를 수행 할 수 있어야합니다.

docker pull localhost:5000/registry-demo

서버가 원격이거나 인증이있는 경우 다음을 사용하여 서버에 로그인해야 할 수 있습니다.

docker login https://<YOUR-DOMAIN>:8080

그런 다음 실행 :

docker pull <YOUR-DOMAIN>:8080/test-image

이것은 실제로 가능하지만 정품 Docker CE 또는 EE 버전을 사용하지 않는 것으로 나타났습니다 .

'--add-registry'플래그와 함께 Red Hat의 docker 포크를 사용하거나 자신의 하드 코딩 된 기본 레지스트리 네임 스페이스 / 인덱스를 사용하도록 수정 된 registry / config.go를 사용하여 소스에서 Docker를 직접 빌드 할 수 있습니다.


fedora distro를 사용하는 경우 파일을 변경할 수 있습니다.

/etc/containers/registries.conf

도메인 docker.io 추가


커뮤니티 내에서 생성되는 조각화로 인해 지원되지 않는 것 같습니다 (예 : 두 사용자가 서로 다른 이미지를 가져옴 ubuntu:latest). 이미지 이름 앞에 호스트를 추가하기 만하면됩니다. 토론에 참여하려면 github 문제참조하십시오 .

(참고로, 이것은 의견이있는 의견이 아니라 언급 된 github 문제에서 따를 수있는 토론의 매우 짧은 요약 일뿐입니다.)


이전 에는 Ubuntu 14:04에서 작동 하고 Ubuntu 15:04에서 몇 가지 문제DOCKER_OPTS있는 /etc/default/docker구성 파일을 사용하여이 작업을 수행 할 수 있었습니다 . 이것이 수정되었는지 확실하지 않습니다.

아래 줄 /etc/default/docker은 docker 데몬을 실행하는 호스트 의 파일로 이동해야합니다 . 개인 레지스트리에 대한 변경 사항은 로컬 네트워크에 설치됩니다. 참고 :이 변경 사항과 함께 docker 서비스를 다시 시작해야합니다.

DOCKER_OPTS="--insecure-registry <priv registry hostname/ip>:<port>"

시도하지 않았지만 /etc/hostsfor hub.docker.com또는 유사한 항목 ( docker.io?) 을 추가하여 DNS 확인 프로세스를 하이재킹하는 것이 작동 할 수 있습니까?

참고 URL : https://stackoverflow.com/questions/33054369/how-to-change-the-default-docker-registry-from-docker-io-to-my-private-registry

반응형