Hat jemand versucht mit Umgebungsvariablen zu überschreiben Konfigurationsoptionen in der Registrierung, sagen Sie, wenn Sie s3 Bucket als Speicher zum Beispiel verwenden müssen. Ich lese die doc, und es sagt (https://docs.docker.com/registry/configuration/):Docker Registrierung: 2.0 überschreiben Konfigurationsoptionen
Overriding configuration options
Environment variables may be used to override configuration parameters other than
version. To override a configuration option, create an environment variable named
REGISTRY_variable_ where variable is the name of the configuration option.
e.g
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/tmp/registry/test
will set the storage root directory to /tmp/registry/test
Also habe ich versucht, diesen Befehl, aber es scheint keine Wirkung zu haben, wenn ich die Registrierung beginnen:
docker run -it -v /var/log/docker-registry:/var/log -p 5000:5000 \
-e REGISTRY_STORAGE_S3_ACCESSKEY=****************** \
-e REGISTRY_STORAGE_S3_SECRETKEY=****************** \
-e REGISTRY_STORAGE_S3_BUCKET=itmcc-docker-registry-backend \
-e REGISTRY_STORAGE_S3_REGION=us-east-1 \
registry:2.0
In den Protokollen I finden sie in der regulären Ausgabe, als ob es nicht die env Variablen nicht berücksichtigt und versuchen, S3 zu verbinden:
INFO[0000] endpoint local-8082 disabled, skipping environment=development instance.id=025c9fcd-2ec1-4d5f-82ec-d3246d54cdb5 service=registry version=v2.0.0
INFO[0000] endpoint local-8083 disabled, skipping environment=development instance.id=025c9fcd-2ec1-4d5f-82ec-d3246d54cdb5 service=registry version=v2.0.0
INFO[0000] using inmemory layerinfo cache environment=development instance.id=025c9fcd-2ec1-4d5f-82ec-d3246d54cdb5 service=registry version=v2.0.0
INFO[0000] listening on :5000 environment=development instance.id=025c9fcd-2ec1-4d5f-82ec-d3246d54cdb5 service=registry version=v2.0.0
INFO[0000] Starting upload purge in 42m0s environment=development instance.id=025c9fcd-2ec1-4d5f-82ec-d3246d54cdb5 service=registry version=v2.0.0
INFO[0000] debug server listening localhost:5001
PS: wenn ich eine IAM-Rolle mit meiner EC2 verwenden, ist es überflüssig scheint beim Zugang zu passieren und geheimer Schlüssel zu Docker Registrierungscontainer, kann Docker die IAM-Rolle noch nutzen, hat jemand das versucht?
Edit: Nachdem ich laufe Container und den Befehl exec Ausgabe von env zu sehen:
[email protected]:/go/src/github.com/docker/distribution# env
REGISTRY_STORAGE_S3_SECRETKEY=*************************
DISTRIBUTION_DIR=/go/src/github.com/docker/distribution
GOLANG_VERSION=1.4.2
HOSTNAME=0a349294f792
REGISTRY_STORAGE_S3_BUCKET=itmcc-docker-registry-backend
PATH=/go/bin:/usr/src/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/go/src/github.com/docker/distribution
REGISTRY_STORAGE_S3_REGION=us-east-1
SHLVL=1
HOME=/root
GOPATH=/go/src/github.com/docker/distribution/Godeps/_workspace:/go
REGISTRY_STORAGE_S3_ACCESSKEY=*************************
_=/usr/bin/env
[email protected]:/go/src/github.com/docker/distribution#
Können Sie bitte 'exec -it'myContainer/bin/bash (oder was auch immer Ihr Containername ist) andocken und den Inhalt von' env' hier ablegen? Ich kann AWS S3-Anmeldeinformationen über Umgebungsvariablen einspeisen. – L0j1k
Bitte sehen Sie OP unter "Bearbeiten" (letzter Abschnitt) – alexfvolk