Docker Registry v2 配置文件详解
时间:2022-04-29
本文章向大家介绍Docker Registry v2 配置文件详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
/etc/docker/registry/config.yml
详解。
你可以在 docker run
时通过 -e
参数设置环境变量来配置。为了避免命令的繁杂,推荐大家通过挂载配置文件来进行配置。
storage:
filesystem:
rootdirectory: /var/lib/registry
对应着
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY=/somewhere
通过挂载配置文件来修改配置
$ docker run -d
-p 5000:5000
--restart=always
--name registry
-v `pwd`/config.yml:/etc/docker/registry/config.yml
registry
简单配置文件请查看:https://github.com/docker/distribution/blob/master/cmd/registry/config-example.yml
示例配置文件:https://docs.docker.com/registry/configuration/#list-of-configuration-options
version: 0.1
log:
accesslog:
disabled: true
level: info | debug | error | warn
formatter: text | json | logstash
fields:
service: registry
environment: staging
hooks:
- type: mail
disabled: true
levels:
- panic
options:
smtp:
addr: smtp.exmail.qq.com:465
username: docker@xc725.wang
password: password
insecure: true
from: docker@xc725.wang
to:
- docker@khs1994.com
# loglevel: debug # deprecated: use "log" 已废弃
# 存储
storage:
# 存入本地文件中
filesystem:
rootdirectory: /var/lib/registry
maxthreads: 100
# 存入 阿里云 OSS ,其他国外云服务这里不再列举
oss:
accesskeyid: accesskeyid
accesskeysecret: accesskeysecret
region: OSS region name
endpoint: optional endpoints
internal: optional internal endpoint
bucket: OSS bucket
encrypt: optional data encryption setting
secure: optional ssl setting
chunksize: optional size valye
rootdirectory: optional root directory
inmemory: # This driver takes no parameters
delete:
enabled: false
redirect:
disable: false
cache:
blobdescriptor: redis
maintenance:
uploadpurging:
enabled: true
age: 168h
interval: 24h
dryrun: false
readonly:
enabled: false
# 用户名 密码 验证功能,提供三种验证方式,我比较熟悉 htpasswd
auth:
silly:
realm: silly-realm
service: silly-service
token:
realm: token-realm
service: token-service
issuer: registry-token-issuer
rootcertbundle: /root/certs/bundle
htpasswd:
realm: basic-realm
path: /path/to/htpasswd
middleware:
registry:
- name: ARegistryMiddleware
options:
foo: bar
repository:
- name: ARepositoryMiddleware
options:
foo: bar
storage:
- name: cloudfront
options:
baseurl: https://my.cloudfronted.domain.com/
privatekey: /path/to/pem
keypairid: cloudfrontkeypairid
duration: 3000s
storage:
- name: redirect
options:
baseurl: https://example.com/
reporting:
bugsnag:
apikey: bugsnagapikey
releasestage: bugsnagreleasestage
endpoint: bugsnagendpoint
newrelic:
licensekey: newreliclicensekey
name: newrelicname
verbose: true
http:
addr: localhost:5000
prefix: /my/nested/registry/
host: https://myregistryaddress.org:5000
secret: asecretforlocaldevelopment
relativeurls: false
tls:
certificate: /path/to/x509/public
key: /path/to/x509/private
clientcas:
- /path/to/ca.pem
- /path/to/another/ca.pem
letsencrypt:
cachefile: /path/to/cache-file
email: emailused@letsencrypt.com
debug:
addr: localhost:5001
headers:
X-Content-Type-Options: [nosniff]
http2:
disabled: false
# 类似 github webhooks ,给特定网址 post 一个 json 数据
notifications:
endpoints:
- name: alistener
disabled: false
url: https://my.listener.com/event
headers: <http.Header>
timeout: 500
threshold: 5
backoff: 1000
ignoredmediatypes:
- application/octet-stream
#配置 Redis
redis:
addr: redis:6379
# password: asecret
db: 0
dialtimeout: 10ms
readtimeout: 10ms
writetimeout: 10ms
pool:
maxidle: 16
maxactive: 64
idletimeout: 300s
# 健康检查
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
file:
- file: /path/to/checked/file
interval: 10s
http:
- uri: http://server.to.check/must/return/200
headers:
Authorization: [Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==]
statuscode: 200
timeout: 3s
interval: 10s
threshold: 3
tcp:
- addr: redis-server.domain.com:6379
timeout: 3s
interval: 10s
threshold: 3
# docker hub 镜像
proxy:
remoteurl: https://registry-1.docker.io
username: [username]
password: [password]
compatibility:
schema1:
signingkeyfile: /etc/registry/key.json
validation:
enabled: true
manifests:
urls:
allow:
- ^https?://([^/]+.)*example.com/
deny:
- ^https?://www.example.com/
- jdbc基础 (二) 通过properties配置文件连接数据库
- SQL Server 存储过程的几种常见写法分析
- servlet请求转发、包含以及重定向
- servlet设置缓存时间以及文件的下载
- 用python做科学计算之pandas入门简介
- Servlet响应的中文字符集问题
- jdbc基础 (五) 连接池与数据源 DBCP以及C3P0的使用
- JDBC
- ASP.NET Core 性能对比评测(ASP.NET,Python,Java,NodeJS)
- LOJ#6280. 数列分块入门 4
- 解决session阻塞的问题
- LOJ#6281. 数列分块入门 5
- 动态规划之矩阵连乘
- 动态规划之最长公共子序列(LCS)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 字符串:听说你对KMP有这些疑问?
- C++ gflags库使用说明
- 字符串:KMP算法还能干这个!
- Day12 :数值的整数次方
- 字符串:前缀表不右移,难道就写不出KMP了?
- HTTP请求头referer
- 【干货】C++基础知识:继承与派生详解
- 文本相似度——编辑距离
- 文本相似度——汉明距离
- python函数——Bunch配置加载
- npm install、npm install --global、npm install --save、npm install --save-dev的区别
- 3种 Springboot 全局时间格式化方式,别再写重复代码了
- pip conda 安装速度慢解决方法
- Linux 中指定使用的GPU
- 未读消息(小红点),前端 与 RabbitMQ 实时消息推送实践,贼简单~