Docker 的 Registry 利用配置文件提供了一些倉庫的模板(flavor),用戶可以直接使用它們來進(jìn)行開發(fā)或生產(chǎn)部署。
在 config_sample.yml 文件中,可以看到一些現(xiàn)成的模板段:
common:基礎(chǔ)配置local:存儲(chǔ)數(shù)據(jù)到本地文件系統(tǒng)s3:存儲(chǔ)數(shù)據(jù)到 AWS S3 中dev:使用 local 模板的基本配置test:單元測試使用prod:生產(chǎn)環(huán)境配置(基本上跟s3配置類似)gcs:存儲(chǔ)數(shù)據(jù)到 Google 的云存儲(chǔ)swift:存儲(chǔ)數(shù)據(jù)到 OpenStack Swift 服務(wù)glance:存儲(chǔ)數(shù)據(jù)到 OpenStack Glance 服務(wù),本地文件系統(tǒng)為后備glance-swift:存儲(chǔ)數(shù)據(jù)到 OpenStack Glance 服務(wù),Swift 為后備elliptics:存儲(chǔ)數(shù)據(jù)到 Elliptics key/value 存儲(chǔ)用戶也可以添加自定義的模版段。
默認(rèn)情況下使用的模板是 dev,要使用某個(gè)模板作為默認(rèn)值,可以添加 SETTINGS_FLAVOR 到環(huán)境變量中,例如
export SETTINGS_FLAVOR=dev
另外,配置文件中支持從環(huán)境變量中加載值,語法格式為 _env:VARIABLENAME[:DEFAULT]。
common:
loglevel: info
search_backend: "_env:SEARCH_BACKEND:"
sqlalchemy_index_database:
"_env:SQLALCHEMY_INDEX_DATABASE:sqlite:////tmp/docker-registry.db"
prod:
loglevel: warn
storage: s3
s3_access_key: _env:AWS_S3_ACCESS_KEY
s3_secret_key: _env:AWS_S3_SECRET_KEY
s3_bucket: _env:AWS_S3_BUCKET
boto_bucket: _env:AWS_S3_BUCKET
storage_path: /srv/docker
smtp_host: localhost
from_addr: docker@myself.com
to_addr: my@myself.com
dev:
loglevel: debug
storage: local
storage_path: /home/myself/docker
test:
storage: local
storage_path: /tmp/tmpdockertmp