关键词:
🍁博主简介:
🏅云计算领域优质创作者
🏅2022年CSDN新星计划python赛道第一名🏅2022年CSDN原力计划优质作者
🏅阿里云ACE认证高级工程师
🏅阿里云开发者社区专家博主💊交流社区:CSDN云计算交流社区欢迎您的加入!
目录
Docker Registry提供了一些样例配置,用户可以直接使用它们来进行开发或生产部署。 |
博主将以下面的示例配置来介绍如何使用配置文件来管理私有仓库。 |
1. 示例配置
代码如下: |
version: 0.1
log:
level: debug
fields:
service: registry
environment: development
hooks:
- type: mail
disabled: true
levels:
- panic
options:
smtp:
addr: mail.example.com:25
username: mailuser
password: password
insecure: true
from: sender@example.com
to:
- errors@example.com
storage:
delete:
enabled: true
cache:
blobdescriptor: redis
filesystem:
rootdirectory: /var/lib/registry
maintenance:
uploadpurging:
enabled: false
http:
addr: :5000
debug:
addr: localhost:5001
headers:
X-Content-Type-Options: [nosniff]
redis:
addr: localhost:6379
pool:
maxidle: 16
maxactive: 64
idletimeout: 300s
dialtimeout: 10ms
readtimeout: 10ms
writetimeout: 10ms
notifications:
endpoints:
- name: local-5003
url: http://localhost:5003/callback
headers:
Authorization: [Bearer <an example token>]
timeout: 1s
threshold: 10
backoff: 1s
disabled: true
- name: local-8083
url: http://localhost:8083/callback
timeout: 1s
threshold: 10
backoff: 1s
disabled: true
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
2. 选项
这些选项以yaml文件格式提供,用户可以直接进行修改,也可以添加自定义的模板段。 |
默认情况下,变量可以从环境变量中读取,例如log.level:debug可以配置为: |
export LOG_LEVEL=debug
比较重要的选项包括版本信息、log选项、hooks选项、存储选项、认证选项、HTTP选项、通知选项、redis选项、健康监控选项、代理选项和验证选项等。下面分别介绍这些选项。 |
1.版本信息
version:0.1
2.log选项
日志相关: |
log:
level: debug
formatter: text
fields:
service: registry
environment: staging
参数说明: ·level:字符串类型,标注输出调试信息的级别,包括debug、info、warn、error。 ·fomatter:字符串类型,日志输出的格式,包括text、json、logstash等。 ·fields:增加到日志输出消息中的键值对,可以用于过滤日志。 |
3.hooks选项
配置当仓库发生异常时,通过邮件发送日志时的参数: |
hooks:
- type: mail
levels:
- panic
options:
smtp:
addr: smtp.sendhost.com:25
username: sendername
password: password
insecure: true
from: name@sendhost.com
to:
- name@receivehost.com
4.存储选项
storage选项将配置存储的引擎,默认支持包括本地文件系统、 Google云存储、AWS S3云存储和OpenStack Swift分布式存储等,如下所示: |
storage:
filesystem:
rootdirectory: /var/lib/registry
azure:
accountname: accountname
accountkey: base64encodedaccountkey
container: containername
gcs:
bucket: bucketname
keyfile: /path/to/keyfile
rootdirectory: /gcs/object/name/prefix
s3:
accesskey: awsaccesskey
secretkey: awssecretkey
region: us-west-1
regionendpoint: http://myobjects.local
bucket: bucketname
encrypt: true
keyid: mykeyid
secure: true
v4auth: true
chunksize: 5242880
multipartcopychunksize: 33554432
multipartcopymaxconcurrency: 100
multipartcopythresholdsize: 33554432
rootdirectory: /s3/object/name/prefix
swift:
username: username
password: password
authurl: https://storage.myprovider.com/auth/v1.0 or https://storage.
myprovider.com/v2.0 or https://storage.myprovider.com/v3/auth
tenant: tenantname
tenantid: tenantid
domain: domain name for Openstack Identity v3 API
domainid: domain id for Openstack Identity v3 API
insecureskipverify: true
region: fr
container: containername
rootdirectory: /swift/object/name/prefix
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:
delete:
enabled: false
cache:
blobdescriptor: inmemory
maintenance:
uploadpurging:
enabled: true
age: 168h
interval: 24h
dryrun: false
redirect:
disable: false
比较重要的选项如下: ·maintenance:配置维护相关的功能,包括对孤立旧文件的清理、开启只读模式等; ·delete:是否允许删除镜像功能,默认关闭; ·cache:开启对镜像层元数据的缓存功能,默认开启; |
5.认证选项
对认证类型的配置,如下所示: |
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
比较重要的选项如下: ·silly:仅供测试使用,只要请求头带有认证域即可,不做内容检查 ·token:基于token的用户认证,适用于生产环境,需要额外的token服务来支持; ·htpasswd:基于Apache htpasswd密码文件的权限检查。 |
6.HTTP选项
跟HTTP服务相关的配置,如下所示: |
http:
addr: localhost:5000
net: tcp
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
其中的参数如下: ·addr:必选,服务监听地址; ·secret:必选,跟安全相关的随机字符串,用户可以自己定义; ·tls:证书相关的文件路径信息; ·http2:是否开启http2支持,默认关闭。 |
7.通知选项
有事件发生时候的通知系统。 |
notifications:
endpoints:
- name: alistener
disabled: false
url: https://my.listener.com/event
headers: <http.Header>
timeout: 500
threshold: 5
backoff: 1000
8.redis选项
Registry可以用Redis来缓存文件块,这里可以配置相关选项: |
redis:
addr: localhost:6379
password: asecret
db: 0
dialtimeout: 10ms
readtimeout: 10ms
writetimeout: 10ms
pool:
maxidle: 16
maxactive: 64
idletimeout: 300s
9.健康监控选项
跟健康监控相关,主要是对配置服务进行检测判断系统状态,如下所示 |
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
默认并未启用。 |
10.代理选项
配置Registry作为一个pull代理,从远端(目前仅支持官方仓库)下拉Docker镜像,如下所示: |
proxy:
remoteurl: https://registry-1.docker.io
username: [username]
password: [password]
之后,用户可以通过如下命令来配置Docker使用代理: |
$ docker --registry-mirror=https://myrepo.com:5000 daemon
11.验证选项
限定来自指定地址的客户端才可以执行push操作: |
validation:
enabled: true
manifests:
urls:
allow:
- ^https?://([^/]+\\.)*example\\.com/
deny:
- ^https?://www\\.example\\.com/
👑👑👑结束语👑👑👑
docker-搭建私有云映射数据卷网络(代码片段)
...像名称,如果遇到问题,修改/etc/docker/daemon.json,insecure-registries是镜像加速地址,registry-mirrors私有云仓库ip地址。"insecure-registries":["127.0.0.1:5000"],"registry-mirrors":["https://registry.docker-cn.com"]搭建成功后... 查看详情
搭建docker私有仓库
...式为http为了避免报错vim/etc/docker/daemon.json写入:"insecure-registries":["10.1.2.3:5000"]10.1.2.3 是A的ip地址。 4、重启dockersystemctlrestartdocker 5、新建私有仓库的容器验证一个可用端口(未被占用的端口)netstat-lnp|grep:5000 ... 查看详情
docker使用registry搭建本地私有仓库
参考链接来自:http://blog.csdn.net/wangtaoking1/article/details/44180901/和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。使用私有仓库有许多优点:节省网络带宽,针对于每个镜像不用每... 查看详情
docker搭建私有registry
CentOSLinuxrelease7.3.1611Docker版本:17.06.0-ceregistry仓库:# mkdir /certs# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /certs/domain.key -x5 查看详情
docker基础-搭建本地私有仓库
1、使用registry镜像创建私有仓库 安装Docker后,可以通过官方提供的registry镜像来简单搭建一套本地私有仓库环境:dockerrun-d-p5000:5000registry这条命令将自动下载并启动一个registry容器,创建本地的私有仓库服务。默认会将仓库... 查看详情
docker私有仓库registry的搭建验证
1. 关于Registry官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们... 查看详情
docker搭建私有仓库之registry(代码片段)
Registry*有时候使用DockerHub这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。*docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。注:*随着docker使用的镜像越来越多,就需要有一个保存镜像的地方... 查看详情
docker部署registry私有仓库+harbor私有仓库(代码片段)
有时候使用DockerHub这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。两种不同的搭建Docker私有仓库的方法,都必须要基于一个Docker服务器上,相比较而言,Harbor功能更强大些。之前详细写过Registry私有仓库的... 查看详情
搭建docker私有仓库(代码片段)
搭建docker私仓,可以使用docker官方提供的registry镜像。该镜像目前有2.0,2.3和2.3.1版本。它只与1.6.0以上版本的docker兼容。搭建私仓的步骤如下: 一:无代理、无认证的registry1:下载registry镜像:dockerpullregistry:2 这里... 查看详情
docker——registry搭建私有镜像仓库(代码片段)
前言在Docker中,当我们执行dockerpullxxx的时候,它实际上是从registry.hub.docker.com这个地址去查找,这就是Docker公司为我们提供的公共仓库,上面的镜像,大家都可以看到,也可以使用。所以,我们也可以带上仓库地址去拉取镜... 查看详情
docker私有仓库registry认证搭建
前言: 首先,DockerHub是一个很好的用于管理公共镜像的地方,我们可以在上面找到想要的镜像(DockerHub的下载量已经达到数亿次);而且我们也可以把自己的镜像推送上去。但是,有的时候我们的使用场景需要拥有一个... 查看详情
docker--------registry私有仓库搭建[http]
1.背景 docker中要使用镜像,一般会从本地、dockerHup公共仓库和其它第三方公共仓库中下载镜像,一般出于安全和外网(墙)资源下载速率的原因考虑企业级上不会轻易使用。那么有没有一种办法可以存储自己的镜... 查看详情
docker搭建私有仓库
1,下载仓库镜像。dockerpull registry //主要用于搭建私有仓库的。 2,将宿主机端口映射到容器中去,容器的5000端口是不能更改的。dockerrun-d-p5000:5000registry//以registry镜像启动容器,监听5000端口 3,进入到私有仓库... 查看详情
docker搭建私有仓库(代码片段)
搭建docker私有仓库#server配置$mkdir/mnt/registry$dockerrun-dit-v/mnt/registry://var/lib/registry-p5000:5000--restartalways--nameregistryregistry:2$firewall-cmd--permanent--add-port=5000/tcp$firewall-cmd--relo 查看详情
docker:用registry快速搭建私有镜像仓库(代码片段)
1、背景在Docker中,当我们执行dockerpullxxx的时候,可能会比较好奇,docker会去哪儿查找并下载镜像呢??它实际上是从registry.hub.docker.com这个地址去查找,这就是Docker公司为我们提供的公共仓库,上面的镜像,大家都可以看到,也... 查看详情
docker:搭建私有镜像仓储(imageregistry)
搭建私有仓储,其实本质上也是运行了一个官方提供的(Registry)镜像的容器;生产环境中,我们要搭建自己的专有仓储 下载registry镜像dockerpullregistry 运行镜像dockerrun-d-p5000:5000registry默认情况下,会将仓库存放于容... 查看详情
docker搭建本地私有仓库
1.拉取镜像:dockerpullregistry2.创建宿主机储存目录【/opt/data/registry】:mkdir-p/opt/data/registrydockerrun-d-p5000:5000-v/opt/data/registry:/var/lib/registry --nameprivate_registryregistry 3.配置https权 查看详情
docker私有仓库的搭建
Docker搭建本地私有仓库的详细步骤Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。使用私有仓库有许多优点:一、节省网络带宽,针对于每个镜像,不用每个人都去中央仓库上面去下载,只需要从... 查看详情