繁体   English   中英

如何管理Docker私有注册表

[英]How to manage Docker private registry

我在example.com:5000上设置了Docker并运行了一个私有存储库。 我按照此处列出的说明操作: https//docs.docker.com/registry/deploying/

并使用docker-compose.yml:

registry:
  restart: always
  image: registry:2
  ports:
    - 5000:5000
  environment:
    REGISTRY_HTTP_TLS_CERTIFICATE: /certs/domain.crt
    REGISTRY_HTTP_TLS_KEY: /certs/domain.key
    REGISTRY_AUTH: htpasswd
    REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
    REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
  volumes:
    - /path/data:/var/lib/registry
    - /path/certs:/certs
    - /path/auth:/auth

我可以推拉图像资源库,但我不能让docker search example.com:5000/library运行。 我得到一个: Error response from daemon: Unexpected status code 404

当我将curl指向端点时,我得到以下结果:

$ curl -v -X GET http://example.com:5000/v2/images
Note: Unnecessary use of -X or --request, GET is already inferred.
*   Trying 37.139.20.160...
* Connected to example.com (192.167.201.2) port 5000 (#0)
> GET /v2/images HTTP/1.1
> Host: domain.com:5000
> User-Agent: curl/7.47.0
> Accept: */*
> 

* Connection #0 to host example.com left intact

如何使搜索命令工作以便我可以管理存储库? 我在哪里可以找到端点的API文档? 或者有更好的方法来管理Docker私人仓库?

根据搜索引擎选项 ,您似乎必须激活搜索选项

Docker Registry可以选择为GET /v1/search端点索引数据库中的存储库信息。

(我没有在V2 API中看到搜索。你可以列出标签

search_backend设置选择要使用的搜索后端。
如果search_backend为空,则不构建索引,搜索端点始终返回空结果。

例如,使用SQLAlchemy数据库

common:
  search_backend: sqlalchemy
  sqlalchemy_index_database: sqlite:////tmp/docker-registry.db

在初始化时,SQLAlchemyIndex类检查数据库版本。 如果数据库尚不存在(或存在但缺少版本表),则SQLAlchemyIndex将创建数据库和所需的表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM