Docker-07-私有仓库搭建

简介: Docker-07-私有仓库搭建

某些时候使用 Docker Hub 这样的公共仓库可能不方便,或者在公司内网无法访问公网的时候,我们可以选择创建一个本地仓库供私人使用。


直接安装运行 docker-registry


root@phyger-VirtualBox:/home/phyger# docker run -d -p 5000:5000 --restart=always --name my_registry registry
Unable to find image 'registry:latest' locally
latest: Pulling from library/registry
cbdbe7a5bc2a: Pull complete
47112e65547d: Pull complete
46bcb632e506: Pull complete
c1cc712bcecd: Pull complete
3db6272dcbfa: Pull complete
Digest: sha256:8be26f81ffea54106bae012c6f349df70f4d5e7e2ec01b143c46e2c03b9e551d
Status: Downloaded newer image for registry:latest
22a16661a027fc031ba7cab0d9915fbd0ea0829139263e91934055e2988b205c
root@phyger-VirtualBox:/home/phyger# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                        NAMES
22a16661a027        registry            "/entrypoint.sh /etc…"   5 seconds ago       Up 2 seconds        0.0.0.0:5000->5000/tcp       my_registry
root@phyger-VirtualBox:/home/phyger#
复制代码


我们在启动 registry 容器的时候将容器的 5000 端口映射到了 host5000 端口,因为默认的 registry 的服务端口是 5000,此时我们使用 host5000 端口就可以访问到本地的私有仓库。


访问私有仓库


查询 host 的地址:


网络异常,图片无法展示
|


从本地 windows 电脑访问虚拟机的 IP+5000 端口:


[Administrator.LWAL3QZC7R46JQC] ➤ curl http://192.168.56.102:5000/v2/_catalog
{"repositories":[]}
复制代码


到此,说明本地仓库搭建成功。


上传镜像


查看本地镜像:


root@phyger-VirtualBox:/home/phyger# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
my_ubuntu           v5                  038342424332        4 days ago          141MB
registry            latest              2d4f4b5309b1        4 days ago          26.2MB
alpine              latest              a24bb4013296        3 weeks ago         5.57MB
ubuntu              latest              1d622ef86b13        2 months ago        73.9MB
hello-world         latest              bf756fb1ae65        5 months ago        13.3kB
root@phyger-VirtualBox:/home/phyger#
复制代码


my_ubuntu:v5 标记为私有镜像 127.0.0.1:5000/my_ubuntu


root@phyger-VirtualBox:/home/phyger# docker tag my_ubuntu:v5 127.0.0.1:5000/my_ubuntu:v5
root@phyger-VirtualBox:/home/phyger# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
my_ubuntu                  v5                  038342424332        4 days ago          141MB
127.0.0.1:5000/my_ubuntu   v5                  038342424332        4 days ago          141MB
registry                   latest              2d4f4b5309b1        4 days ago          26.2MB
alpine                     latest              a24bb4013296        3 weeks ago         5.57MB
ubuntu                     latest              1d622ef86b13        2 months ago        73.9MB
hello-world                latest              bf756fb1ae65        5 months ago        13.3kB
复制代码


将 127.0.0.1:5000/my_ubuntu 推送到本地私有仓库:


root@phyger-VirtualBox:/home/phyger# docker push 127.0.0.1:5000/my_ubuntu:v5
The push refers to repository [127.0.0.1:5000/my_ubuntu]
e92f897b912b: Pushed
v5: digest: sha256:8fa3f9d55d4e5793cf936a2592d2405bdf46796c9d06b54abcc1a8104c9a819f size: 528
root@phyger-VirtualBox:/home/phyger#
复制代码


再次从本地 windows 查询私有仓库中的镜像:


网络异常,图片无法展示
|


可以看到,本地私有仓库已经有了一个名为 my_ubuntu 的镜像,如果想查询 my_ubuntu 的详细信息,则使用如下方法:


网络异常,图片无法展示
|


拉取测试


查看本地镜像列表:


网络异常,图片无法展示
|


删除 127.0.0.1:5000/my_ubuntu 后再次查看本地镜像列表:


网络异常,图片无法展示
|


拉取 127.0.0.1:5000/my_ubuntu


网络异常,图片无法展示
|


补充


默认的私有仓库的镜像存放在容器的/var/lib/registry 路径下,如果想要指定镜像在 host 上的存放路径,则在启动 registry 的时候使用文件映射-v 参数即可。例如:


docker run -d -p 5000:5000 --restart=always -v /opt/data/my_registry /var/lib/registry --name my_registry registry
相关文章
|
3月前
|
Docker 容器
Docker自建仓库之Harbor高可用部署实战篇
关于如何部署Harbor高可用性的实战教程,涵盖了从单机部署到镜像仓库同步的详细步骤。
169 15
Docker自建仓库之Harbor高可用部署实战篇
|
3月前
|
存储 Kubernetes Cloud Native
部署Kubernetes客户端和Docker私有仓库的步骤
这个指南涵盖了部署Kubernetes客户端和配置Docker私有仓库的基本步骤,是基于最新的实践和工具。根据具体的需求和环境,还可能需要额外的配置和调整。
99 1
|
2月前
|
网络协议 应用服务中间件 nginx
私有的docker私有镜像站仓库harbor
私有的docker私有镜像站仓库harbor
|
3月前
|
存储 测试技术 数据安全/隐私保护
Docker自建仓库之Harbor部署实战
关于如何部署和使用Harbor作为Docker企业级私有镜像仓库的详细教程。
896 12
|
3月前
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
1836 8
|
3月前
|
运维 数据安全/隐私保护 Docker
Docker自建仓库之Docker Registry部署实战
关于如何使用Docker Registry镜像搭建本地私有Docker仓库的实战教程,包括了下载镜像、创建授权目录和用户名密码、启动Registry容器、验证端口和容器、测试登录仓库、上传和下载镜像的详细步骤。
1085 5
|
4月前
|
存储 Docker 容器
阿里云私有docker仓库构建海外镜像
【8月更文挑战第25天】
422 3
|
5月前
|
存储 Docker 容器
入职必会-开发环境搭建50-Docker必会搭建Docker私有仓库
Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像到本地也可以把我们自己的镜像推送上去。但是有时候我们的服务器无法访问互联网或者不希望将自己的镜像放到公网当中,那么我们就需要搭建自己的Docker私有仓库来存储和管理自己的Docker镜像。
入职必会-开发环境搭建50-Docker必会搭建Docker私有仓库
|
3月前
|
应用服务中间件 nginx 数据安全/隐私保护
使用Harbor搭建Docker私有仓库
Harbor是一款开源的企业级Docker仓库管理工具,分为私有与公有仓库两种类型,其中私有仓库被广泛应用于运维场景。Harbor提供图形化界面,便于直观操作,并且其核心组件均由容器构建而成,因此安装时需预先配置Docker及docker-compose。Harbor支持基于项目的用户与仓库管理,实现细粒度的权限控制;具备镜像复制、日志收集等功能,并可通过UI直接管理镜像,支持审计追踪。部署Harbor涉及配置文件调整、登录认证等步骤,并可通过客户端进行镜像的上传、拉取等操作。系统内置多种角色,包括受限访客、访客、开发者、维护人员及管理员,以满足不同场景下的使用需求。
157 0
|
5月前
|
Ubuntu Java Docker
docker 搭建私有仓库并发布私有镜像
docker 搭建私有仓库并发布私有镜像
506 1