Có ai đó đã thử sử dụng biến môi trường để ghi đè tùy chọn cấu hình trong sổ đăng ký, giả sử bạn phải sử dụng nhóm s3 làm bộ nhớ. Tôi đọc doc và nó nói (https://docs.docker.com/registry/configuration/):Trình đăng ký Docker: 2.0 ghi đè tùy chọn cấu hình
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
Vì vậy, tôi đã cố gắng lệnh này, nhưng nó dường như không có bất kỳ tác dụng khi tôi bắt đầu đăng ký:
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
Trong các bản ghi tôi xem đầu ra thường xuyên như thể nó không mất các biến env vào tài khoản và cố gắng kết nối với 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: Nếu tôi sử dụng một vai trò quan IAM với eC2 của tôi, có vẻ như không cần thiết để vượt qua trong việc tiếp cận và chìa khoá bí mật để docker container đăng ký, có thể docker sử dụng vai trò IAM được nêu ra, có ai đã thử điều đó?
Edit: Sau khi tôi chạy container và lệnh exec để xem sản phẩm của 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#
Bạn có thể vui lòng 'docker exec -it myContainer/bin/bash' (hoặc bất kỳ tên vùng chứa nào của bạn) và đổ nội dung của' env' vào đây? Tôi có thể tiêm thông tin đăng nhập AWS S3 qua các biến môi trường. – L0j1k
Vui lòng xem OP trong phần "Chỉnh sửa" (phần cuối) – alexfvolk