Linux中搭建 Docker私有仓库

私有镜像仓库是指部署在公司或组织内部,用于自身应用Docker镜像存储、分发的镜像仓库。在构建公司内部使用的自动化发布系统的过程中,从安全的角度出发,应用的打包镜像一般情况下只会被存储在私有镜像仓库中。

1、下载registry镜像

[root@localhost ~]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
486039affc0a: Pull complete
ba51a3b098e6: Pull complete
8bb4c43d6c8e: Pull complete
6f5f453e5f2d: Pull complete
42bc10b72f42: Pull complete
Digest: sha256:7d081088e4bfd632a88e3f3bcd9e007ef44a796fddfe3261407a3f9f04abe1e7
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest

2、生成registry容器,开放5000端口

[root@localhost ~]# docker create -it registry /bin/bash
fd51aa59dc5cea7b589d0403e562cb8f0098c3a8a7da239572dd5bfd9423ec96
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fd51aa59dc5c registry "/entrypoint.sh /bin…" 10 seconds ago Created optimistic_saha
#建议直接执行下面的这个命令,因为笔者遇到start这个容器发现退出的状态码非0(后面解决了,使用/bin/sh环境即可)
[root@localhost ~]# docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry
ceb498d622ab743fc858a993e3870f9831e20436cb71f7225215f1f0899571f1
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ceb498d622ab registry "/entrypoint.sh /etc…" 2 seconds ago Up 2 seconds 0.0.0.0:5000->5000/tcp strange_swanson

docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry命令的解释:

-d ——守护进程

-v ——数据卷设置{/data/registry表示的宿主机系统中的一个绝对路径,没有的时候会自动创建,/tmp/registry表示容器内部的目录}

#宿主机目录

[root@localhost ~]# ls /
bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost ~]# ls /data/
registry

#容器内部目录

[root@localhost ~]# docker exec -it ceb498d622ab /bin/sh# ls /
bin etc media root srv usr
dev home mnt run sys var
entrypoint.sh lib proc sbin tmp
/ # ls tmp/
registry

3、客户端设置daemon.json文件 (指定私有仓库位置)

[root@localhost ~]# vim /etc/docker/daemon.json

{
"insecure-registries": ["20.0.0.149:5000"], #将本地服务器作为私有仓库位置"registry-mirrors": ["https://5m9y9qbl.mirror.aliyuncs.com"]
}
[root@localhost ~]# systemctl restart docker

4、创建本地的镜像标签

[root@localhost ~]# docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
123275d6e508: Pull complete
e984dd982a6e: Pull complete
963280e5cf81: Pull complete
6faf90d050b2: Pull complete
962b56984bb0: Pull complete
Digest: sha256:d5dc0d279039da76a8b490d89a5c96da83a33842493d4336b42ccdfbd36d7409
Status: Downloaded newer image for httpd:latest
docker.io/library/httpd:latest

[root@localhost ~]# docker tag httpd:latest 20.0.0.149:5000/httpd

5、上传镜像

[root@localhost ~]# docker push 149:5000/httpd
The push refers to repository [149:5000/httpd]
An image does not exist locally with the tag: 149:5000/httpd
[root@localhost ~]# docker push 20.0.0.149:5000/httpd
The push refers to repository [20.0.0.149:5000/httpd]
9dabb51b1ca2: Pushed
4621e8a6d1da: Pushed
e728c649bc91: Pushed
1a935e59aa8a: Pushed
b60e5c3bcef2: Pushed
latest: digest: sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567 size: 1367
[root@localhost ~]# curl -XGET http://20.0.0.149:5000/v2/_catalog
{"repositories":["httpd"]}
#有上面的结果表示上传成功

6、下载镜像测试

[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest bdc169d27d36 Less than a second ago 166MB
20.0.0.149:5000/httpd latest bdc169d27d36 Less than a second ago 166MB
registry latest 708bc6af7e5e 2 months ago 25.8MB
[root@localhost ~]# docker rmi bdc169d27d36
Error response from daemon: conflict: unable to delete bdc169d27d36 (must be forced) - image is referenced in multiple repositories
[root@localhost ~]# docker rmi bdc169d27d36 -f
Untagged: 20.0.0.149:5000/httpd:latest
Untagged: 20.0.0.149:5000/httpd@sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567
Untagged: httpd:latest
Untagged: httpd@sha256:d5dc0d279039da76a8b490d89a5c96da83a33842493d4336b42ccdfbd36d7409
Deleted: sha256:bdc169d27d36e2438ec8452c7dd7a52a05561b5de7bef8391849b0513a6f774b
Deleted: sha256:6535aa332fb72ca508f550fef8ffb832d4c6bc72a48720b42659e10d47668181
Deleted: sha256:c7bce1fab718a11501a672c895a729b1fdf8099d00fe152bef8c2534ee455976
Deleted: sha256:75b6b2392924b062257ed97e5c2f3aa9f50a922b94c3f7c342d0aed2370e8bec
Deleted: sha256:267e2020b1bd0b182eb02d1a0f3e2f72efc542890ef6159ed9c3570322608de0
Deleted: sha256:b60e5c3bcef2f42ec42648b3acf7baf6de1fa780ca16d9180f3b4a3f266fe7bc
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 708bc6af7e5e 2 months ago 25.8MB
[root@localhost ~]#

测试:

[root@localhost ~]# docker pull 20.0.0.149:5000/httpd
Using default tag: latest
latest: Pulling from httpd
123275d6e508: Pull complete
e984dd982a6e: Pull complete
963280e5cf81: Pull complete
6faf90d050b2: Pull complete
962b56984bb0: Pull complete
Digest: sha256:8f10edef61246c6c142a87304d4ffa68298662ecb619776e4e9817d06ec5f567
Status: Downloaded newer image for 20.0.0.149:5000/httpd:latest
20.0.0.149:5000/httpd:latest
[root@localhost ~]#

拉取成功并且拉取镜像的速度很快。

最后给出上面出现的状态码错误的问题具体解决:

Linux Docker私有仓库搭建教程Linux Docker私有仓库搭建教程

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/223780.html<

(0)
管理的头像管理
上一篇2025-04-16 03:10
下一篇 2025-04-16 03:12

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注