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 중국어 웹사이트의 기타 관련 기사를 참조하세요!