Docker镜像仓库

Docker镜像仓库的概念

在Docker生态系统中,Docker镜像仓库(或称为Docker Registry)是一个存储和分发Docker镜像的服务。它类似于其他编程语言中的包管理系统,允许开发者上传、下载和管理Docker镜像。Docker官方提供了一个公共的镜像仓库服务,称为Docker Hub,但你也可以在自己的服务器上运行私有镜像仓库。

Docker仓库的特点

  • 存储镜像:Docker镜像仓库用来存储Docker镜像。这些镜像可以是官方提供的,也可以是用户自己创建的。

  • 版本控制:每个镜像可以有多个版本(tags),这使得用户可以轻松地回溯到之前的版本或者使用特定的版本。

  • 分发:通过镜像仓库,用户可以轻松地共享和分发他们的Docker镜像给其他用户或团队。

  • 认证和安全:许多镜像仓库支持基于角色的访问控制(RBAC),允许管理员控制谁可以访问哪些镜像。

Docker镜像仓库分类

Docker镜像仓库主要分为公共镜像仓库和私有镜像仓库。

公共镜像仓库

公共镜像仓库为Docker官方提供,称为Docker Hub,地址:https://hub.docker.com
当然,现在目前各厂商也相继推出了公共的镜像仓库。
目前Docker hub在国内访问不了,需要配置一些代理才能够访问,可以参考下列:

 
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.mybacc.com",
"https://dytt.online",
"https://lispy.org",
"https://docker.xiaogenban1993.com",
"https://docker.yomansunter.com",
"https://aicarbon.xyz",
"https://666860.xyz",
"https://docker.zhai.cm",
"https://a.ussh.net",
"https://hub.littlediary.cn",
"https://hub.rat.dev",
"https://docker.m.daocloud.io"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
私有镜像仓库

对于需要更高安全性和控制的企业或组织,可以在自己的服务器上设置私有镜像仓库。这可以通过以下几种方式实现:

  • Docker Registry:Docker官方提供了一个轻量级的、开源的镜像仓库服务,称为Docker Registry。它可以很容易地部署在自己的服务器上,并提供基本的镜像存储和分发功能。

  • harbor镜像仓库:Harbor 是一个开源的镜像仓库服务,用于容器镜像、Helm Chart 等符合 OCI 标准的 Artifact 的安全托管及高效分发,能够帮助您跨云原生计算平台(如 Kubernetes 和 Docker)一致且安全地管理 Artifact。

  • 使用云服务:许多云服务提供商(如AWS、Azure、Google Cloud)提供托管Docker镜像仓库的服务,如Amazon Elastic Container Registry (ECR)、Azure Container Registry (ACR)、Google Container Registry (GCR)等。

回到顶部

私有镜像仓库之Docker Registry搭建

下载镜像

 
[root@lb ~]# docker pull registry
Using default tag: latest
latest: Pulling from library/registry
f18232174bc9: Pull complete
e5a9c19e7b9d: Pull complete
e8a894506e86: Pull complete
e1822bac1992: Pull complete
b5da7f963a9e: Pull complete
Digest: sha256:1fc7de654f2ac1247f0b67e8a459e273b0993be7d2beda1f3f56fbf1001ed3e7
Status: Downloaded newer image for registry:latest
docker.io/library/registry:latest
[root@lb ~]# docker images | grep registry
registry latest 3dec7d02aaea 2 weeks ago 57.7MB

运行容器

 
# 查看需要挂载的存储卷
[root@lb ~]# docker inspect registry | jq .[].Config.Volumes
{
"/var/lib/registry": {}
}
# 查看需要映射的端口
[root@lb ~]# docker inspect registry | jq .[].Config.ExposedPorts
{
"5000/tcp": {}
}
# 运行容器
[root@lb ~]# docker run -d --name registry -p 5000:5000 --restart always -v /data/docker/registry:/var/lib/registry registry
2e0087e93d0d5070d4d232fdf081bf6be9b6a71f2f72d83ccf01e1a2fb9acfa3
[root@lb ~]# docker ps -a | grep registry
2e0087e93d0d registry "/entrypoint.sh /etc…" 8 seconds ago Up 8 seconds 0.0.0.0:5000->5000/tcp, [::]:5000->5000/tcp registry

测试访问<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

meslog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值