记录Docker搭建私有仓库的步骤教程

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 记录Docker搭建私有仓库的步骤教程

我们知道 dockerHub 公共仓库是外网的,这就导致访问时特别慢,所以一般公司都会搭建私人的镜像仓库来保存镜像,本文主要介绍了 Docker 搭建私有仓库的步骤教程,感兴趣的可以了解一下,做个参考。

背景介绍

Docker registry 是存储 Docker image 的仓库,运行 push、pull、 search 时,是通过 Docker daemon 与 docker registry 通信。

Docker Hub(Docker 埠,内有大量存储库或叫仓库)是 Docker 提供的一项服务,用于查找和与您的团队共享容器镜像。它是世界上最大的容器镜像存储库,拥有一系列内容源,包括容器社区开发人员、开放源代码项目和独立软件供应商(ISV)在容器中构建和分发代码。

使用私有仓库有许多优点:

1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;

2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。

因为 dockerHub 公共仓库是外网的,所以访问就特别慢,所以一般公司都会搭建私人的镜像仓库来保存镜像。一台服务上用 docker 开启一个私有仓库的镜像,后续其他的 docket 服务器都将镜像保存在这个私有的仓库。

设置私有镜像仓库

# 下载镜像
docker pull registry
# 启动镜像
docker run -itd -v /home/wuzhibin/docker/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
 
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行
-v:把宿主机的/home/wuzhibin/docker/registry 目录绑定到容器/var/lib/registry 来实现数据的持久化;
-p:映射端口;访问宿主机的 5000 端口就访问到 registry 容器的服务了
--restart=always: 这是重启的策略,在容器退出时总是重启容器
--name registry: 创建容器命名为 registry

拉起官方镜像,在一台搭建镜像仓库的容器,并将容器的数据盘映射本地数据持久化,最终的目的是将设置为私有的镜像仓库保存镜像。

添加镜像仓库

# 在其他的服务上设置的镜像仓库地址为私仓地址
vim /etc/docker/daemon.json
{
  "insecure-registries": ["192.168.1.200:5000"],
  "registry-mirrors":  ["https://zh7ton3p.mirror.aliyuncs.com"]
}
 
systemctl daemon-reload
systemctl restart docker
 
# insecure-registries 为上一步开启的私有仓库地址
# registry-mirrors 为阿里云镜像加速地址
# 修改 docker 配置之后一定要重新启动 docker 
 
# 推送镜像到私仓
# 拉取 nginx 测试镜像
docker pull nginx 
# 打上私仓标签,如果想推送到私仓必须打上私仓的标签,应该为默认是推送到公共仓库的。
docker tag mginx:latest 192.168.1.200:500/nginx:v1
# 查看镜像名
docker images
# 推送私仓,192.168.1.200:5000/nginx:v1 为上一步打上镜像名的镜像
docker push 192.168.1.200:5000/nginx:v1
# 查看私仓镜像仓库
curl http://192.168.1.200:5000/v2/_catalog
# 结果为{"repositories":["nginx"]}表面
# 查看私仓的镜像版本
curl http://192.168.118.16:5000/v2/ubuntu/tags/list

在其他的服务上设置的镜像仓库地址为私仓地址就可以通过私仓拉起分发布镜像了, 拉取私仓的镜像不仅仅要设置镜像仓库的地址,另外镜像上也要打上私仓的标签,不能默认会从公共仓库拉起和发布。

拉私仓的镜像

# 拉取私仓的镜像, 其他的服务器也需要和上一步一样添加 docker 配置中添加私仓地址
# 不加私仓地址会默认从公共仓去拉起,
docker pull 192.168.1.200:5000/nginx:v1
# 查看拉起的镜像
docker images


image.png


以上就是关于 Docker 搭建私有仓库的步骤教程,做个记录,也希望对大家有帮助。

相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。   相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
16天前
|
机器人 网络安全 数据安全/隐私保护
autMan奥特曼机器人-对接Docker版本NTQQ详细教程
本文介绍了如何在服务器上搭建NTQQ机器人,通过官方NTQQ对接各框架,实现QQ登录的稳定运行。文章提到了需要准备一台服务器和相应的软件,并详细描述了通过SSH链接服务器、创建文件夹和配置文件、编辑配置文件地址端口、运行容器等步骤。同时,文章还介绍了VNC连接的使用和配置,以及使用watchtower进行NTQQ的更新。文章总结起来就是在服务器上搭建NTQQ机器人,实现QQ登录的稳定性和自动登录功能,同时提供了更新和维护的方法。
48 3
autMan奥特曼机器人-对接Docker版本NTQQ详细教程
|
4天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
1月前
|
人工智能 数据安全/隐私保护 虚拟化
Docker部署MaxKB详细步骤(window系统)
这篇文章详细介绍了如何在Windows系统上使用Docker部署MaxKB,并提供了从安装Docker到运行MaxKB容器的详细步骤,以及如何通过浏览器访问和配置MaxKB来使用ollama和llama3模型进行问答。
301 1
Docker部署MaxKB详细步骤(window系统)
|
1月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
242 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
15天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
145 2
|
23天前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
38 1
|
27天前
|
存储 Docker 容器
|
1月前
|
定位技术 文件存储 网络架构
Docker部署PhotoPrism、Immich图片管理应用,无需公网IP远程访问教程
除了Synology、QNAP、TerraMaster等品牌的NAS设备内置图库功能,市面上还有多种备受欢迎的第三方应用,如PhotoPrism、Immich、LibrePhotos、Piwigo、Photoview等。这些应用不仅提供强大的图片管理能力,还可通过Docker轻松部署。借助贝锐花生壳服务,即使没有公网IP也能实现远程访问,突破地理限制,提升数据可访问性和安全性,让用户随时随地管理私人图库。
84 1
|
1月前
|
存储 应用服务中间件 nginx
|
26天前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
37 0