기본적으로 다음 명령을 실행하면 :
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 문제에서 따를 수있는 토론의 매우 짧은 요약 일뿐입니다.)
답변
/etc/docker/daemon.json에 다음 옵션을 추가하려고했습니다. (CentOS7을 사용했습니다)
"add-registry": ["192.168.100.100:5001"],
"block-registry": ["docker.io"],
그 후 docker 데몬을 다시 시작했습니다. 그리고 docker.io 없이도 작동합니다. 이 사람이 도움이 되길 바랍니다.
답변
Docker 공식 입장은 문제 # 11815에 설명되어 있습니다 .
문제 11815 : pull 명령에 사용되는 기본 레지스트리 지정 허용
해결:
앞서 지적한 것처럼 (# 11815), 이것은 네임 스페이스를 조각화 하고 커뮤니티를 상당히 손상시켜 도커 파일을 더 이상 이식 할 수 없게 만듭니다.
[관리자]는 이러한 이유로 이것을 닫을 것입니다.
Red Hat에는이를 허용하는 특정 구현이있었습니다 (anwser 참조, 그러나 Docker 업스트림 프로젝트 에서 거부 됨). RHEL / CentOS 7에 --add-registry
설정된 인수에 의존했습니다 /etc/containers/registries.conf
.
답변
이전 에는 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>"