1. 서버 A를 준비합니다(docker 설치, IP: 192.168.39.111)
2. 서버 A에서 레지스트리 컨테이너를 실행하여 빌드합니다.
docker run -itd -v /my_registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
매개변수 설명:
-itd: 컨테이너에서 열기 대화형 작업을 위한 가상 터미널 및 백그라운드 실행
-v: 호스트의 /data/registry 디렉터리를 컨테이너의 /var/lib/registry 디렉터리에 바인딩합니다(이 디렉터리는 레지스트리 컨테이너에 이미지 파일이 저장되는 디렉터리입니다). ) 데이터 지속성을 확보하기 위해
-p: 호스트의 5000 포트에 액세스하면 레지스트리 컨테이너 서비스에 액세스합니다.
--restart=always: 컨테이너가 비정상인 경우 자동으로 종료됩니다. 컨테이너를 다시 시작하세요.
--name Registry: 원하는 대로 이름을 지정할 수 있습니다.
registry:latest: 방금 가져온 이미지입니다.
(권장 튜토리얼: docker tutorial) )
3. 로컬 호스트 B에서 "안전하지 않은 레지스트리"를 구성합니다. 즉, http 연결(docker 설치됨, IP: 192.168.39.215)
daemon.json 파일을 편집합니다. 기본 위치는 /etc/docker/daemon입니다. .json(Linux 또는 C:ProgramDatadockerconfigdaemon.jsonWindows Server). Mac용 Docker Desktop 또는 Windows용 Docker Desktop을 사용하는 경우 Docker 아이콘을 클릭하고 기본 설정을 선택한 다음 + 데몬을 선택합니다.
daemon.json 파일이 없으면 새로 만들어주세요. 다음 내용을 추가한 후 systemctl restart docker를 다시 시작하세요.
파일에 다른 설정이 없다고 가정하면 다음 내용이 있어야 합니다.
{ "insecure-registries" : ["myregistrydomain.com:5000"] }
4. 로컬 호스트 B
에서 푸시 및 풀을 테스트합니다. (1) 먼저 이미지를 표시합니다. (표시하려면 IP 추가가 필요합니다. 그렇지 않으면 오류가 보고됩니다.): docker tag busybox 192.168.39.111:5000/bbx:v1
(2) 푸시 이미지: docker push 192.168.39.111:5000/bbx:v1
(3) 두 번째 단계가 성공하면 풀다운할 수 있습니다: docker pull 192.168.39.111:5000/bbx:v1
요약: "안전하지 않은 레지스트리" 설정은 미러 서버가 아닌 푸시 측에 설정되어 있습니다. 옆.
위 내용은 Docker 개인 이미지 서버를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!