docker私有仓库搭建及使用配置

1、下载官方registry镜像

[root@localhost docker]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
c87736221ed0: Pull complete 
1cc8e0bb44df: Pull complete 
54d33bcb37f5: Pull complete 
e8afc091c171: Pull complete 
b4541f6d3db6: Pull complete 
Digest: sha256:8004747f1e8cd820a148fb7499d71a76d45ff66bac6a29129bfdbfdc0154d146
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest

2、启动镜像

[root@localhost docker]# docker run --name=registry -p 5000:5000 -d registry
fcfb93b71d31455126e65435d017b8bed08c880c274a10fb74d76dd84db4ad6d
[root@localhost docker]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
fcfb93b71d31        registry            "/entrypoint.sh /etc…"   8 seconds ago       Up 7 seconds        0.0.0.0:5000->5000/tcp   registry

#测试如果看到{"repositories":[]} 表示私有仓库搭建成功

[root@localhost docker]# curl -X GET http://192.168.14.121:5000/v2/_catalog
{"repositories":[]}
[root@localhost docker]# 

3、上传镜像

#将镜像重新标签tag名称
[root@localhost docker]# docker tag centos 192.168.14.121:5000/centos
#上传出错,默认情况下,该仓库是使用http去访问的,而docker客户端使用的是https去访问
[root@localhost docker]# docker push 192.168.14.121:5000/centos
The push refers to repository [192.168.14.121:5000/centos]
Get https://192.168.14.121:5000/v2/: http: server gave HTTP response to HTTPS client

4、修改docker 配置/etc/docker/daemon.json ,文件不存在则直接创建

{
 "insecure-registries": ["192.168.14.121:5000"]
}

5、重启docker,重新上传

[root@localhost docker]#systemctl restart docker
[root@localhost docker]# docker start registry
[root@localhost docker]# more /etc/docker/daemon.json
{ "insecure-registries":["192.168.14.121:5000"] }
[root@localhost docker]# docker push 192.168.14.121:5000/centos
The push refers to repository [192.168.14.121:5000/centos]
0683de282177: Pushed 
latest: digest: sha256:16d100b99449b0b672e13ad606067cf55cdb34790d234360e4bf8b647c23590d size: 529
#可以看到上传成功,多了一个centos的镜像
[root@localhost docker]# curl -X GET http://192.168.14.121:5000/v2/_catalog
{"repositories":["centos"]}
#查看镜像标签
[root@localhost docker]# curl -XGET http://192.168.14.121:5000/v2/centos/tags/list
{"name":"centos","tags":["latest"]}

参考:https://blog.csdn.net/u013197629/article/details/82879096
参考:https://blog.csdn.net/buildcourage/article/details/80296453

发布了22 篇原创文章 · 获赞 7 · 访问量 512

猜你喜欢

转载自blog.csdn.net/bjywxc/article/details/103990524