>운영 및 유지보수 >Docker >Docker가 http로 푸시할 수 없는 문제를 해결하는 방법

Docker가 http로 푸시할 수 없는 문제를 해결하는 방법

WJ
WJ원래의
2020-06-09 16:34:064467검색

Docker가 http로 푸시할 수 없는 문제를 해결하는 방법

Docker가 http에 푸시할 수 없는 문제를 해결하는 방법은 무엇입니까?

시스템 환경: centos7

docker 버전: 1.12.3(버전 참고, 버전마다 다를 수 있음)

docker 레지스트리 버전: 2.4.1

문제:

docker 레지스트리를 성공적으로 설치했습니다. , 브라우저에 http://192.168.1.100:5000/v2를 입력하면 json 데이터가 성공적으로 반환됩니다. docker 레지스트리에 푸시하면 다음과 같이 보고됩니다.

[root@master sysconfig]# docker push 192.168.1.100:5000/registry:2.4.1The push refers to a repository [192.168.1.100:5000/registry]
Get https://192.168.1.100:5000/v1/_ping: http: server gave HTTP response to HTTPS client

이 문제는 https를 사용하는 클라이언트와 https 서비스를 사용하지 않는 docker 레지스트리로 인해 발생할 수 있습니다. 이를 처리하는 한 가지 방법은 "192.168.1.100:5000" 주소에 대한 클라이언트의 요청을 http로 변경하는 것입니다.

현재 많은 기사에서 docker 구성 파일 "etc/systemconfig/docker"를 수정하고 docker를 다시 시작하여 이 문제를 해결하고 있습니다. 그런데 docker 버전 1.12.3에는 이 파일이 없는 것으로 확인되어 이 파일을 온라인으로 생성하고 해당 내용을 채웠습니다. docker를 다시 시작해도 효과가 없으며 이 오류가 계속 보고되었습니다.

해결책:

"/etc/docker/" 디렉터리에 "daemon.json" 파일을 만듭니다. 파일에 작성하세요:

{ "insecure-registries":["192.168.1.100:5000"] }

저장하고 종료한 후 docker를 다시 시작하세요. 문제 해결:

[root@master docker]# docker push 192.168.1.100:5000/registry:2.4.1The push refers to a repository [192.168.1.100:5000/registry]
ee8e809cfde5: Pushed
ba20d499f984: Pushed
705e35f12f24: Pushed
42755cf4ee95: Pushed2.4.1: digest: sha256:b66c4af9577744ae6d32e975808230e2ff558a5d50a7968d5102a900e147f3d5 size: 1158

window Server 2016, 기본 설치 docker 구성 파일은 "C:ProgramDatadockerconfig"에 있습니다. 이 문제를 해결하려면 이 디렉터리에 "daemon.json" 파일을 만들 수 있습니다.

관련 참조: docker 튜토리얼

위 내용은 Docker가 http로 푸시할 수 없는 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.