搭建docker registry私有镜像仓库

主要参考了https://blog.tfm.ro/setup-and-run-a-standalone-private-docker-registry-v2/http://www.javashuo.com/article/p-ofdehcsb-cc.htmlhtml

1、安装docker-distributionnginx

yum install -y docker-distribution

安装完成后,启动服务:docker

systemctl enable docker-distribution.service
systemctl start docker-distribution.service

2、配置config.yamljson

在/etc/docker-distribution/registry目录下编辑config.yaml文件以下:api

version: 0.1
log:
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory
    filesystem:
        rootdirectory: /var/lib/registry  #可更改
http:
    addr: [仓库运行的IP地址]:[仓库运行的端口,可设为5000]

3、修改daemon.jsonbash

在/etc/docker目录下编辑daemon.json文件,在大括号里增长一行:curl

"insecure-registries": ["仓库IP:仓库端口"],

随后重启docker:测试

systemctl restart docker

这样就完成了私有仓库的搭建。url

4、测试上传3d

用docker images查看已下载的镜像,选择一个,例如nginx,打上标签:

docker tag [nginx镜像的ID] [仓库IP]:[仓库端口]/nginx

以后,用docker push命令将打上标签后的镜像上传至私有仓库:

docker push [仓库IP]:[仓库端口]/nginx

看到相似于下面这样的提示后,说明上传成功:

4258832b2570: Pushed 
683a28d1d7fd: Pushed 
d626a8ad97a1: Pushed 
latest: digest: sha256:b3cd8d196926586f70a060b1b61a7c34dd716effe0daf5cf68419ec0bc21ab3d size: 948

5、测试查询

Docker registry v2的API与v1差别很是大。例如,用下面的命令查看已上传的镜像:

curl -X GET http://仓库IP:仓库端口/v2/_catalog

应该可以返回:

{"repositories":["nginx"]}

其他的API能够从官方文档上查到https://docs.docker.com/registry/spec/api/

相关文章
相关标签/搜索