docker简单私有仓库的搭建

示例: 【搭建简单的Registry仓库】

  1. 下载 Registry 镜像
    [root@docker ~]# docker pull registry

    #可以查看开放的端口,需要把端口暴露出来
    [root@docker ~]# docker history registry:latest

    [root@docker ~]# docker run -d -p 5000:5000 --restart=always registry
    9f389c98fbd2163fb6487a5bfd2358751eb4ecb07eb47f463ae76f12b117361c
    [root@docker ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    9f389c98fbd2 registry "/entrypoint.sh /etc..." 14 seconds ago Up 12 seconds 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp hardcore_saha
    #推送push #把当前镜像 nginx:v2 推送到 5000 端口
    [root@docker ~]# docker tag nginx:v2 172.25.254.5:5000/nginx.v3
    [root@docker ~]# docker push 172.25.254.5:5000/nginx.v3
    Using default tag: latest
    The push refers to repository [172.25.254.5:5000/nginx.v3]
    Get "https://172.25.254.5:5000/v2/": http: server gave HTTP response to HTTPS client

默认用 https 的方式:得做认证

[root@docker ~]#
#也可以不用https,而用http的方式,必须得配置非加密端口信息。/etc/docker/daemon.json
[root@docker ~]# vim /etc/docker/daemon.json
[root@docker ~]# cat /etc/docker/daemon.json
{
"insecure-registries" : ["http://172.25.254.5:5000"]
}
[root@docker ~]# systemctl restart docker
[root@docker ~]# docker push 172.25.254.5:5000/nginx.v3
Using default tag: latest
The push refers to repository [172.25.254.5:5000/nginx.v3]
54a2c5fcea1c: Pushed
a8df99e45168: Pushed
174f56854903: Pushed
latest: digest: sha256:2d45824da0f28c4087c7a2c009cc4dba14efc637fdd8bef91fd49a1dcbda8b8c size: 947

推上去的数据在哪?

[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9f389c98fbd2 registry "/entrypoint.sh /etc..." 13 minutes ago Up 4 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp hardcore_saha
[root@docker ~]# docker inspect hardcore_saha
真机中位于:

最终数据位于容器的:

进去真机中的路径下看看,有 nginx:v3

[root@docker ~]# cd /var/lib/docker/volumes/fbc4139d10af9999ee19f7856fb7b5d187337af25eb9c927ef0e99eff304f0f0/_data
[root@docker _data]# ls
docker
[root@docker _data]# cd docker/
[root@docker docker]# cd registry/
[root@docker registry]# ls
v2
[root@docker registry]# cd v2/
[root@docker v2]# ls
blobs repositories
[root@docker v2]# cd repositories/
[root@docker repositories]# l
bash: l: command not found...
[root@docker repositories]# ls
nginx.v3

[root@docker ~]# curl 172.25.254.5:5000/v2/_catalog
{"repositories":["nginx.v3"]}

再推一个试试:

[root@docker ~]# docker tag busybox:latest 172.25.254.5:5000/busybox:xixi
[root@docker ~]# docker push 172.25.254.5:5000/busybox:xixi
The push refers to repository [172.25.254.5:5000/busybox]
d51af96cf93e: Pushed
xixi: digest: sha256:28e01ab32c9dbcbaae96cf0d5b472f22e231d9e603811857b295e61197e40a9b size: 527

相关推荐
William.csj19 分钟前
Bitvise——进入服务器的快捷方式
运维·服务器
lgbisha1 小时前
828华为云征文|华为云Flexus X实例docker部署Jitsi构建属于自己的音视频会议系统
docker·华为云·音视频
CS_素锦少年2 小时前
Linux_kernel驱动开发11
linux·运维·驱动开发
结衣结衣.2 小时前
Linux——进程状态
linux·运维·服务器·c语言·笔记·学习
blaizeer2 小时前
Linux 入门:简单的基础操作
linux·运维·服务器
Eliauk &3 小时前
【docker】通过云服务器安转Docker
java·运维·服务器·spring cloud·docker·容器
ly14356786193 小时前
92、K8s之ingress下集
云原生·容器·kubernetes
晚妍3 小时前
Kubernetes (k8s)v1.27.1版本安装步骤
云原生·容器·kubernetes
GottenZZP4 小时前
如何利用Samba跨平台分享Ubuntu文件夹
linux·运维·ubuntu
程序猿看视界4 小时前
Docker 华为云镜像加速器配置
docker·华为云·镜像加速