Qualcuno ha provato a utilizzare le variabili di ambiente per sovrascrivere le opzioni di configurazione nel registro, ad esempio se è necessario utilizzare il bucket s3 come memoria, ad esempio. Ho letto il documento e si dice (https://docs.docker.com/registry/configuration/):Registro Docker: opzioni di configurazione sovrascrivibili 2.0
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
Così ho provato questo comando, ma non sembra avere alcun effetto quando avvio il Registro di sistema:
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
Nei registri I vedere l'output normale, come se non ci vuole le variabili env in considerazione e provare a connettersi a S3:
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: Se uso un ruolo IAM con la mia EC2, sembra ridondante a passare quanto riguarda l'accesso e chiave segreta nel contenitore del registro docker, la finestra mobile può ancora utilizzare il ruolo IAM, qualcuno l'ha provato?
Edit: Dopo corro container e il comando exec per vedere l'uscita di ENV:
[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#
Puoi per favore 'docker exec -it myContainer/bin/bash' (o qualunque sia il nome del tuo contenitore) e scaricare il contenuto di' env' qui? Sono in grado di iniettare credenziali AWS S3 tramite variabili di ambiente. – L0j1k
Vedere OP in "Modifica" (ultima sezione) – alexfvolk