Wie Docker-Registry hinter Apache zu entlarven?

stimmen
0

Ich bin mit einer privaten Docker-Registry v2 mit der folgenden Docker-compose.yml Datei:

registry:
  restart: always
  image: registry:2
  ports:
    - 5000:5000
  environment:
    REGISTRY_HTTP_TLS_CERTIFICATE: /certs/server-cert.pem
    REGISTRY_HTTP_TLS_KEY: /certs/server-key.pem
    REGISTRY_AUTH: htpasswd
    REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
    REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
  volumes:
    - /data/docker-registry:/var/lib/registry
    - /certs/docker-registry:/certs
    - /auth/docker-registry:/auth

und ich bin in der Lage , die Login lokal (SSH, Jenkins, ...) zu tun http: // localhost: 5000 .

Nun würde Ich mag diese Registrierung mit Apache belichten. Ich laufe die folgende Version von httpd auf CentOS 7:

[root@dev-machine conf.d]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Jun 27 2018 13:48:59

Das ist mein vhosts.conf :

<VirtualHost *:443>
    ServerName dev-machine.com
    ServerAlias www.dev-machine.com

    ErrorLog logs/dev-machine.com-error_log
    CustomLog logs/dev-machine.com-access_log common

    SSLEngine on
    SSLCertificateFile /certs/docker-registry/server-cert.pem
    SSLCertificateKeyFile /certs/docker-registry/server-key.pem

    Header set Host dev-machine.com
    Header set Docker-Distribution-Api-Version registry/2.0
    RequestHeader set X-Forwarded-Proto https

    ProxyRequests off
    ProxyPreserveHost on

    ProxyPass           /registry       http://127.0.0.1:5000/
    ProxyPassReverse    /registry       http://127.0.0.1:5000/

    <Location /registry>
        Order deny,allow
        Allow from all

        AuthName Registry Authentication
        AuthType basic
        AuthUserFile /auth/htpasswd
        Require valid-user
    </Location>
</VirtualHost>

Das Problem, das ich bin vor ist, dass wenn ich versuche, auf der Registrierung anmelden ich die folgende Fehlermeldung erhalten:

izio@1z10:~$ docker login https://dev-machine.com/registry
Username: user
Password: 
Error response from daemon: login attempt to https://dev-machine/v2/ failed with status: 404 Not Found

Es scheint, wie zu / v2 zuweisen, anstatt die zugewiesene URL in vhosts zu verwenden. Was fehlt oder falsch mit dieser Konfiguration?

Veröffentlicht am 20/10/2018 um 12:42
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Aktualisieren Sie einfach Ihre httpd.conf wie folgt


Proxypass / registry http://127.0.0.1:5000/ v2
Proxypassreverse / registry http://127.0.0.1:5000/ v2

Beantwortet am 24/10/2018 um 18:30
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more