जैसा कि यहां बताया गया है सेटअप कैसे करें ubuntu 16.04 पर डॉकटर निजी रजिस्ट्री,

मैंने /etc/hosts को इस तरह बदल दिया:

192.168.1.154 registry-server
192.168.1.90 registry-client

तब मैंने रजिस्ट्री छवि खींची:

docker pull registry

फिर मैंने सर्टिफिकेट फाइल बनाई

mkdir /etc/certs
cd /etc/certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt

मैंने क्लाइंट होस्ट में ca.crt को इन पथों में कॉपी किया है:

/etc/certs/
/etc/docker/certs.d/registry-server:5000/

फिर मैंने सर्वर होस्ट पर कंटेनर चलाया:

docker run -d -p 5000:5000 --restart=always --name registry -v /etc/certs:/etc/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/etc/certs/ca.crt -e REGISTRY_HTTP_TLS_KEY=/etc/certs/ca.key registry

मैंने छवि को टैग किया

docker tag phpmyadmin/phpmyadmin:latest registry-server:5000/pma-test

लेकिन जब मैं छवि registry-server:5000/pma-test को सर्वर पर धकेलना चाहता हूं:

docker push registry-server:5000/pma-test:latest

निम्न त्रुटि होती है:

डेमॉन से त्रुटि प्रतिक्रिया: खुला /etc/docker/certs.d/registry-server:5000: अनुमति अस्वीकृत

================================================================================================================= करने

अद्यतन:

मैंने journalctl -xe भागा, और मुझे ये त्रुटियां मिलीं:

सितम्बर 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.229097561Z" level=debug msg="Calling GET /_ping"

सितम्बर 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238248010Z" level=debug msg="कॉलिंग POST /v1.38/images/registry-server:5000/pma -टेस्ट/पुश?टैग="

सितम्बर 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238670117Z" level=debug msg="hostDir: /etc/docker/certs.d/registry-server:5000 "

सितम्बर 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238797277Z" level=debug msg="FIXME: एक एपीआई मिला जिसके लिए त्रुटि किसी भी अपेक्षित प्रकार से मेल नहीं खाती !! !: खुला /etc/docker/certs.d/registry-server:5000: अनुमति अस्वीकृत" error_type="*os.PathError" मॉड्यूल = एपीआई

सितम्बर 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238831133Z" level=error msg="Handler for POST /v1.38/images/registry-server:5000/ पीएमए-टेस्ट/पुश लौटाई गई त्रुटि: खुला /etc/docker/certs.d/registry-server:5000: अनुमति अस्वीकृत"

सितम्बर 30 13:58:37 docker.dockerd[926]: time="2019-09-30T13:58:37.238861895Z" level=debug msg="FIXME: एक एपीआई मिला जिसके लिए त्रुटि किसी भी अपेक्षित प्रकार से मेल नहीं खाती !! !: खुला /etc/docker/certs.d/registry-server:5000: अनुमति अस्वीकृत" error_type="*os.PathError" मॉड्यूल = एपीआई

30 सितंबर 13:58:37 ऑडिट [926]: एवीसी एपर्मर = "अस्वीकृत" ऑपरेशन = "ओपन" प्रोफाइल = "स्नैप.डॉकर। डॉकर्ड" नाम = "/ etc/docker/certs.d/रजिस्ट्री-सर्वर: 5000/ " pid=926 कॉम ="डॉकरड" request_mask="r" इनकार_मास्क="r" fsuid=0 ouid=0

30 सितंबर 13:58:37 कर्नेल: ऑडिट: टाइप = 1400 ऑडिट (1569851917.234:53): एपर्मर = "अस्वीकृत" ऑपरेशन = "ओपन" प्रोफाइल = "स्नैप.डॉकर। डॉकर्ड" नाम = "/ etc/docker/certs. d/रजिस्ट्री-सर्वर: 5000/" pid = 926 कॉम = "डॉकरड" अनुरोधित_मास्क = "आर" अस्वीकृत_मास्क = "आर" fsuid = 0 ouid = 0

यह त्रुटि क्यों हुई?

डॉकर संस्करण 19.03.2, बिल्ड 6a30dfc

डॉकर-लिखें संस्करण 1.24.0, 0aa59064 का निर्माण करें

सर्वर और क्लाइंट होस्ट: Ubuntu 18.04

0
Roham Rafii 29 सितंबर 2019, 17:12

1 उत्तर

सबसे बढ़िया उत्तर

आखिरकार मैंने ढूंढ लिया:

मैंने निम्न पंक्ति को /var/lib/snapd/apparmor/profiles/snap.docker.docker में जोड़ा

/etc/docker/certs.d/** r,

फिर मैं भागा:

apparmor_parser -r /var/lib/snapd/apparmor/profiles/snap.docker.dockerd

और समस्या हल हो गई।

1
Roham Rafii 30 सितंबर 2019, 18:45