Docker 镜像的公有与私有仓库的具体使用

 更新时间:2025年11月25日 10:41:04   作者:维尔切(wiltjer)  
本文介绍了Docker镜像的公有与私有仓库使用方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Docker 镜像仓库概述

Docker 镜像仓库用于存储、管理和分发 Docker 镜像,分为:

  • 公有仓库:如 Docker Hub、阿里云镜像仓库等,对外开放
  • 私有仓库:如 Docker Registry、Harbor,用于企业内部镜像管理

一、Docker Hub 公有仓库

1、注册账号

  • 访问 https://hub.docker.com/ 注册 Docker ID

2、登录 Docker Hub

由于使用的国外的网站,在国内登录,显示超时是正常现象

因此不推荐使用此仓库

[root@docker ~]# docker login

3、重名镜像

docker tag <原镜像名>:<标签> <用户名>/<镜像名>:<标签>

4、上传镜像

docker push <用户名>/<镜像名>:<标签>

5、查看与管理

  • 登录 Docker Hub 网站,在 Public Repository 中查看或删除镜像

二、阿里云公有仓库

1、登录阿里云控制台

根据提示进行下面操作

2、登录阿里云仓库

[root@docker ~]# docker login --username=wiltjer crpi-p8sx9czqbmn2nzai.cn-hangzhou.personal.cr.aliyuncs.com

3、重命名镜像

[root@docker ~]# docker tag centos:7 crpi-p8sx9czqbmn2nzai.cn-hangzhou.personal.cr.aliyuncs.com/wiltjer/wil:centos7

4、上传镜像

[root@docker ~]# docker push crpi-p8sx9czqbmn2nzai.cn-hangzhou.personal.cr.aliyuncs.com/wiltjer/wil:centos7

5、查看与管理

三、Docker Registry 私有仓库

1、配置 Docker 信任私有仓库

  • 编辑 /etc/docker/daemon.json
[root@docker ~]# vim /etc/docker/daemon.json

  • 重启 Docker
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker

2、拉取并运行 Registry 容器

[root@docker ~]# docker pull registry:2
[root@docker ~]# docker run -d -p 5000:5000 --restart always --name wilregistry registry:2

3、重命名镜像

[root@docker ~]# docker tag centos:7 192.168.100.10:5000/centos:7
# docker tag <镜像名>:<标签> <服务器IP>:5000/<镜像名>:<标签>

4、上传镜像

[root@docker ~]# docker push 192.168.100.10:5000/centos:7
# docker push <服务器IP>:5000/<镜像名>:<标签>

5、查看与管理

[root@docker ~]# curl http://192.168.100.10:5000/v2/_catalog

四、Harbor 企业级私有仓库

Harbor 是一个企业级 Docker Registry,提供用户管理、访问控制、镜像同步、日志审计等功能

1、下载并解压 Harbor

2、配置 Docker 信任 Harbor

  • 编辑 /etc/docker/daemon.json
[root@docker ~]# vim /etc/docker/daemon.json 

  • 重启 Docker
[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker

3、修改配置文件 harbor.yml

[root@docker ~]# cd harbor/
[root@docker harbor]# vim harbor.yml

4、安装 Docker Compose 并安装 Harbor

[root@docker harbor]# yum -y install docker-compose
[root@docker harbor]# ./install.sh

5、访问 Harbor 管理界面

6、创建仓库

7、登录并上传镜像

[root@docker ~]# docker login 192.168.100.10 -u admin -p Harbor12345
[root@docker ~]# docker tag centos:7 192.168.100.10/wiltjer/centos:7
# docker tag <镜像名>:<标签> <服务器IP>/<项目名>/<镜像名>:<标签>
[root@docker ~]# docker push 192.168.100.10/wiltjer/centos:7
# docker push <服务器IP>/<项目名>/<镜像名>:<标签>

8、查看与管理

五、总结与对比

仓库类型典型代表认证方式镜像命名格式适用场景
公有仓库Docker HubDocker IDusername/repo:tag个人开发者、开源项目
公有仓库阿里云仓库阿里云账号registry.aliyuncs.com/ns/repo:tag国内用户、企业级加速
私有仓库Docker Registry无(或自签证书)ip:port/repo:tag内网简单镜像存储
私有仓库Harbor用户/密码 + RBACip/project/repo:tag企业级镜像管理、安全审计

到此这篇关于Docker 镜像的公有与私有仓库的具体使用的文章就介绍到这了,更多相关Docker 镜像公有与私有仓库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker引起服务器磁盘爆满的问题解决

    docker引起服务器磁盘爆满的问题解决

    本文主要介绍了docker引起服务器磁盘爆满的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Docker中的集群管理与应用方式

    Docker中的集群管理与应用方式

    这篇文章主要介绍了Docker中的集群管理与应用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05
  • Docker Hub镜像Pull失败的解决全过程

    Docker Hub镜像Pull失败的解决全过程

    文章解决Ubuntu环境下Docker拉取镜像失败问题,分析网络限制、DNS污染及下载速度慢等原因,提出配置国内镜像加速器的解决方案,包括编辑daemon.json并重启Docker服务
    2025-09-09
  • 利用Docker Compose部署多容器LNMP环境的实战步骤

    利用Docker Compose部署多容器LNMP环境的实战步骤

    本次实战通过Docker Compose成功构建了完整的LNMP(Nginx + MySQL + PHP-FPM)开发环境,通过自定义PHP-FPM镜像安装MySQL扩展,配置 Nginx 反向代理 PHP 请求,本文介绍的非常详细,感兴趣的朋友一起看看吧
    2025-12-12
  • Docker遇到502 Bad Gateway问题的排查与解决方法

    Docker遇到502 Bad Gateway问题的排查与解决方法

    本文详细描述了线上部署内容服务时遇到的502 Bad Gateway问题,表面现象指向Nginx和Docker网络,但最终发现根因在于应用代码中使用不可重入锁导致的死锁,通过调整锁的类型并进行部署,问题得以解决,需要的朋友可以参考下
    2026-04-04
  • 使用Docker查看Elasticsearch错误日志的详细步骤

    使用Docker查看Elasticsearch错误日志的详细步骤

    在使用 Elasticsearch(简称 ES)的过程中,我们可能会遇到各种问题,为了快速定位和解决这些问题,查看错误日志是关键,本文将介绍如何使用 Docker 查看 Elasticsearch 的错误日志,并提供一些实用技巧,需要的朋友可以参考下
    2025-08-08
  • Docker安装配置Redis镜像的实现步骤

    Docker安装配置Redis镜像的实现步骤

    Redis是一个由Salvatore Sanfilippo写的key-value存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多语言API,本文带你在Docker安装配置它
    2021-11-11
  • 腾讯云服务器docker开启端口后无法访问的解决方法

    腾讯云服务器docker开启端口后无法访问的解决方法

    本文主要介绍了腾讯云服务器docker开启端口后无法访问的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Docker使用Dockerfile来创建镜像

    Docker使用Dockerfile来创建镜像

    本篇文章主要介绍了Docker使用Dockerfile来创建镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • 完美卸载Docker的详细步骤

    完美卸载Docker的详细步骤

    Docker是一种流行的容器化平台,但是有时候我们可能需要卸载Docker,无论是因为需要重新安装版本,还是因为不再需要使用Docker,无论何种原因,正确地卸载Docker是很重要的,以确保系统的干净和稳定,下面跟大家详细介绍如何彻底卸载Docker的方法,让你能够轻松地清理干净
    2023-11-11

最新评论