Docker的注册表服务器

docker-registr的Python项目详细描述


>**注意:**此存储库托管经典(稳定)python docker注册表。如果您正在寻找下一代Docker分发工具(包括新的Golang注册表),请转到[Docker/Distribution](https://github.com/docker/Distribution)。*


Docker注册表
==

[![生成状态](https://travis ci.org/docker/docker registry.png)(https://travis ci.org/docker/docker registry)

您运行的注册表的哪个版本
*切换到相应的标记以访问与您的产品版本匹配的自述文件

稳定的、已发布的版本是[0.9.1标记](https://github.com/docker/docker registry/tree/0.9.1)。

[常见问题](faq.md)在报告错误之前。

离子选项](可用配置选项)
-[常规选项](常规选项)
-[身份验证选项](身份验证选项)
-[搜索引擎选项](搜索引擎选项)
-[sqlalchemy](sqlalchemy)
-[镜像选项](镜像选项)
-[缓存选项](缓存选项)
-[存储选项](存储选项)
-[存储文件](存储文件)
-[持久存储](持久存储)
-[存储s3](存储s3)
-[自己的配置](自己的配置)
-[高级使用](高级用户))
-[驱动程序](驱动程序)
-[对于开发人员](对于开发人员)

[来自Docker Hub的官方图像](https://registry.hub.docker.com/u/registry/)。

/>-e设置特色=s3\
-e aws_bucket=mybucket\
-e存储路径=/registry\
-e aws_key=myawskey\
-e aws_secret=myawssecret\
-e search_backend=sqlalchemy\
-p 5000:5000\
registry
````


配置机制概述

默认情况下,注册表将使用[config_sample.yml](config/config_sample.yml)配置启动。

示例:`docker run-e storage_path=/registry`.


您也可以使用与该文件不同的"风格"(见下文)。


最后,您可以使用自己的配置文件(见下文)。



在一个配置文件中。

此机制允许您定义不同的运行"模式"(例如:"开发"、"生产"或任何其他模式)。


在"config_sample.yml"文件中,您将看到几种示例样式:

1。`普通`:所有其他口味的酒都用作基本设置
1。` local`:在本地文件系统上存储数据
1。` s3`:在awss3存储桶中存储数据
1。` ceph-s3`:通过ceph对象网关,使用s3 api在ceph集群中存储数据。` azure blob`:将数据存储在Microsoft azure blob存储([(docs)](advanced.md)中
1。` dev`:使用"local"风格的基本配置
1。` test`:用于单元测试
1。` prod`:生产配置on(基本上是"s3"味道的同义词)
1。` gcs`:在google云存储中存储数据
1。` swift`:将数据存储在openstack swift
1中。` glass`:将数据存储在openstack glass中,并返回到本地存储
1。` glass swift`:在openstack glass中存储数据,返回swift
1。` elliptics`:将数据存储在elliptics键/值存储中

`.

注意:可以使用简单的语法从配置文件中加载环境变量:``env:variablename[:default]`。在下面的示例中检查此语法
正在运行…



_数据库:sqlite://///tmp/docker registry.db"


prod:
<;<;:*common
loglevel:warn
stor储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储储U形斗
存储路径/srv/docker
smtp-host:localhost
从"docker:docker@myself.com
到"my addr:myself.com


dev:
<;:*common
loglevel:debug
存储路径:home/myself/docker

test:
<;*common
存储:本地存储路径:tmp/tmpdockertmp
````





有关映射,请参见[`config_sample.yml`](config/config_sample.yml)。


` loglevel`:字符串,调试级别。任何python的
[日志记录](http://docs.python.org/2/library/logging.html)模块级别:
`debug`、`info`、`warn`、`error`或`critical`
1。` debug`:boolean,使`/u ping`端点输出更有用的信息,例如库版本和主机信息。
1。` storage_redirect`:如果存储引擎支持
则重定向请求的资源,例如s3将重定向签名的url,这可用于卸载
服务器。
1。` boto_host`/`boto_port`:如果使用的是"storage:s3",则将使用
[标准boto配置文件位置](http://docs.pythonboto.org/en/latest/boto_config_tut.html详细信息)
(`/etc/boto.cfg,~/.boto`)。如果您使用的是
*非*-amazon s3兼容对象存储(如ceph),请在boto config files"
`[credentials]`部分中,为您正在使用的
服务设置"boto_host"、"boto_port"。或者,在配置文件中设置"boto_host"和"boto_port"。

` stand alone`:boolean,在独立模式下运行服务器。这意味着
index.docker.io上的索引服务不会用于任何事情。这意味着"禁用令牌身份验证"。


1。` index_endpoint`:string,配置索引端点的主机名。
用于验证登录用户的密码。默认为
https://index.docker.io。您可能应该将其保留为默认值。

1。` disable_token_auth`:boolean,使用docker
索引禁用令牌检查。您应该提供自己的身份验证方法(例如basic
auth)。


可以使用如下配置配置后端:

"搜索后端"设置选择要使用的搜索后端。如果
earch_backend`为空,没有建立索引,搜索端点总是返回空结果。


1。` search_backend`:要使用的搜索后端引擎的名称。
当前支持的后端为:
1。` sqlalchemy`

`索引`
类用作搜索后端。

` sqlalchemy_index_database`:传递到
[创建引擎][]的数据库url。


示例:

```yaml
常见:
搜索后端:sqlalchemy
sqlalchemy index_database:sqlite:///tmp/docker registry.db
```

s检查数据库
版本。如果数据库还不存在(或确实存在,但缺少
一个'version'表,'sqlalcheminIndex'将创建数据库和
必需的表。

`镜像`:
1.`来源:
1.`源索引`:
1。`标签缓存ttl`:

示例:

``yaml
常见:
镜像:
源代码:https://registry-1.docker.io
源代码:https://index.docker.io
标签缓存ttl:172800天
````

缓存选项

小文件。在这种情况下,需要
生成在
[lru模式](http://redis.io/topics/config)中配置的[redis服务器](http://redis.io/)。配置文件"config_sample.yml"
显示了一个使用配置指令"cache_lru"启用lru缓存的示例。

启用此功能后,所有小文件(标记、元数据)都将缓存到redis中。当使用远程存储后端(如Amazon S3)时,它将显著加快
速度,因为它将减少到S3的往返次数。


所有配置设置都放在"缓存"或"缓存"部分中。

1。`缓存`/`cache_lru`:
1.`主机`:服务器的主机地址
1。`端口`:端口服务器监听
1。` password`:身份验证密码




\storage options

`storage`选择要使用的存储引擎。默认情况下,注册表附带两个存储引擎(`file`和`s3`)。


如果要查找其他(社区提供的)存储:`pip search docker registry driver`

配置将"storage"设置为"name"
*将任何其他与存储相关的配置选项添加到conf文件中
*查看特定于存储的文档以获取其他相关或配置说明。

目前,我们了解以下存储驱动程序:

*[azure](https://github.com/ahmetalpkank/docker注册表驱动程序azure)
*[elliptics](https://github.com/noxiouz/docker注册表驱动程序elliptics)
*[swift](https://github.com/bacongobbler/docker注册表驱动程序swift)
*[gcs](https://github.com/dmp42/docker-registry-driveR-GCS)
*[一览](https://github.com/dmp42/docker注册表驱动程序一览)
*[操作系统](https://github.com/chris jin/docker注册表驱动程序alioss.git)


\`存储路径:文件系统上存储数据的路径

示例:

``yaml
本地:
存储:文件
存储路径:/mnt/registry
````

o使用数据卷作为"存储路径"。请阅读[数据卷]的文档
(http://docs.docker.io/en/latest/use/working_with_volumes/)有关详细信息。

示例:

````
docker run-p 5000-v/tmp/registry:/tmp/registry registry
````

` s3-access-key`:字符串,s3-access-key
1。` s3_secret_key`:字符串,s3 secret key
1。` s3_bucket`:字符串,s3 bucket name
1。` s3_region`:s3存储桶所在的区域
1。` s3_encrypt`:boolean,如果为true,则容器将由s3在
服务器端加密,并以加密形式存储,而在s3中静止时

1。` s3_secure`:boolean,对于https到s3为true
1。` s3_use_sigv4`:布尔值,对于use_sigv4为true(需要设置boto_主机,否则boto将忽略use_sigv4。)
1。` boto_bucket`:string,非*-amazon s3兼容对象存储的bucket名称
1。` boto_host`:字符串,用于*非*-符合amazon s3的对象存储
1的主机。` boto_port`:对于*非*-符合amazon s3的对象存储
1。` boto_debug`:对于*非*-符合amazon s3的对象存储
1。` boto_calling_format`:string,访问s3或*非*-amazon s3兼容对象存储时要使用的boto调用格式的完全限定类名
1。`存储路径:字符串,存储图像数据的子"文件夹"。

ozrmupejlhycnp2k4j49t
``

使用"docker廑registry廑u config"环境变量:

```
sudo docker run-p 5000:5000-v/home/me/myfolder:/registry conf-e docker廑registry廑u config=/registry conf/mysuperconfig.yml registry
```

在[高级功能文档](advanced.md)

earch
[sqlalchemy]:http://docs.sqlalchemy.org/
[create懔engine]:http://docs.sqlalchemy.org/en/latest/core/engines.html懔sqlalchemy.create懔engine

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException