ฉันมีนักเทียบท่า 1.12 ที่ทำงานบน CentOS ฉันพยายามเพิ่มรีจิสทรีที่ไม่ปลอดภัยและสิ่งที่กล่าวถึงในเอกสารประกอบก็ไม่ได้ผล ระบบใช้systemd
ดังนั้นฉันจึงสร้าง/etc/systemd/system/docker.service.d/50-insecure-registry.conf
ไฟล์
$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"'
หลังจากโหลด daemon และรีสตาร์ทเซอร์วิส docker systemd จะแสดงว่ามีตัวแปรสภาวะแวดล้อมอยู่ที่นั่น
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
แต่เมื่อฉันเรียกใช้docker info
ฉันไม่เห็นว่ามีการเพิ่มรีจิสทรีที่ไม่ปลอดภัย
$ docker info
........
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8
การผลักดันภาพhostaneme.cloudapp.net
ล้มเหลวด้วย
Pushing application (hostname.cloudapp.net:5000/application:latest)...
The push refers to a repository [hostname.cloudapp.net:5000/mozart_application]
ERROR: Get https://hostname.cloudapp.net:5000/v1/_ping: http: server gave HTTP response to HTTPS client
มีอะไรที่สามารถทำได้? ฉันพลาดอะไรไปรึเปล่า ?
อัปเดต
แก้ไขปัญหาโดยการเพิ่มไฟล์ที่/etc/docker/daemon.json
มีเนื้อหาต่อไปนี้
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
จากนั้นรีสตาร์ทนักเทียบท่า
sudo systemctl daemon-reload
sudo systemctl restart docker
หลังจากนั้นรีจิสทรีที่ไม่ปลอดภัยจะhostname.cloudapp.net:500
ทำงาน