Ubuntu Docker Registry 搭建私有仓库

简介:

服务器版本 Ubuntu 16.04 LTS。

安装命令:

$ docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry

Registry 服务默认会将镜像保存在/var/lib/registry目录下,上面命令设置保存目录在/opt/registry下,我们可以看下 Registry 容器状态:

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
e2b1ffd9072e        registry            "/entrypoint.sh /e..."   2 hours ago         Up About an hour    0.0.0.0:5000->5000/tcp   stoic_davinci

接着,我们登录另外一台服务器,将本地的已有的镜像文件推送到私有仓库中,首先,我们需要将镜像的tag标记为要推送到私有仓库,示例:

$ docker tag hwapp:v2 40.125.207.78:5000/hwapp:v3

然后,我们看下镜像文件列表:

$ docker images
docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
40.125.207.78:5000/hwapp   v3                  fe28b19b4410        24 hours ago        1.63GB
hwapp                      v2                  fe28b19b4410        24 hours ago        1.63GB
hwapp                      v1                  8a28e2e870d4        25 hours ago        1.63GB
microsoft/aspnetcore       latest              0f2330f1a843        26 hours ago        280MB
microsoft/dotnet           latest              a7dd4972fc95        6 days ago          1.63GB

最后,我们就可以将40.125.207.78:5000/hwapp:v3镜像文件,推送到私有仓库了:

$ docker push 40.125.207.78:5000/hwapp:v3

可能会出现下面的错误:

$ docker push 40.125.207.78:5000/hwapp:v3
The push refers to a repository [40.125.207.78:5000/hwapp]
Get https://40.125.207.78:5000/v1/_ping: http: server gave HTTP response to HTTPS client

解决方式,在本服务器操作,而不是私有仓库所在服务器(如果已有daemon.json文件,进行修改即可):

$ touch /etc/docker/daemon.json
$ echo '{ "insecure-registries":    ["40.125.207.78:5000"] }' > /etc/docker/daemon.json
$ service docker restart

然后,再执行下推送命令就可以了,我们也可以直接构建成要推送私有仓库的镜像,示例:

$ docker build -t 40.125.207.78:5000/hwapp:v4 .

然后,再执行下推送命令:

$ docker push 40.125.207.78:5000/hwapp:v4

推送成功之后,我们可以检查下私有仓库里的镜像文件:

$ curl http://40.125.207.78:5000/v2/_catalog
{"repositories":["hwapp"]}
$ curl http://40.125.207.78:5000/v2/hwapp/tags/list
{"name":"hwapp","tags":["v3","v4"]}

然后,我们就可以拉取私有仓库里的镜像文件了:

$ docker pull 40.125.207.78:5000/hwapp:v4

本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/ubuntu-docker-registry.html,如需转载请自行联系原作者

相关文章
|
消息中间件 Java 开发者
【颠覆想象】Spring Boot重构未来:解耦与隔离,打造坚不可摧的微服务帝国!
【8月更文挑战第29天】本文通过构建电子商务平台的具体案例,深入探讨了如何利用 Spring Boot 实现服务间的解耦与隔离。文章详细介绍了依赖注入、模块化设计及异步通信等关键技术,并提供了具体代码示例。通过依赖注入,对象间耦合得以降低;模块化设计使各功能域独立,降低系统复杂度;异步通信则利用消息队列提升系统吞吐量与响应速度。这些方法不仅优化了系统架构,还加快了开发进程。
516 0
|
人工智能 机器人 测试技术
【windows配置】windows11家庭版添加本地安全策略(亲测有效)
【windows配置】windows11家庭版添加本地安全策略(亲测有效)
|
前端开发 JavaScript Java
前后端分离|基于Springboot+Vue校园闲置物品交易系统设计与实现
前后端分离|基于Springboot+Vue校园闲置物品交易系统设计与实现
482 0
前后端分离|基于Springboot+Vue校园闲置物品交易系统设计与实现
C#编程-52:PictureBox控件复习笔记
C#编程-52:PictureBox控件复习笔记
288 0
|
5天前
|
JavaScript API iOS开发
DeepSeek Harness下载、安装、配置一篇搞定(2026整理,送常用插件)
DeepSeek Harness(DSH)是DeepSeek于2026年开源的MIT协议AI Agent框架,支持插件化组装模型、工具、沙箱与UI,兼容主流大模型。本文提供免Node.js的桌面端安装包(Win/macOS),含详细图文教程及热门插件推荐。
2524 21
|
6天前
|
iOS开发 Docker MacOS
【2026实测】Docker Desktop下载、安装、汉化、配置教程(附官网安装包)
Docker Desktop 是 Docker 官方推出的桌面容器管理工具,集成引擎、CLI、图形界面与 Kubernetes,支持 Win/macOS/Linux。2026 最新版 4.88.1 强化 ARM 原生运行、镜像加速及资源可视化,附中文汉化与国内镜像配置指南。
1100 3
|
云安全 安全 网络安全
|
5天前
|
Linux 开发工具 iOS开发
Codex保姆级教程(下载+安装+登录+使用,含所有版本,2026最新)
Codex是OpenAI推出的开源AI编程智能体,本地运行,可理解整个代码库,支持自然语言指令改代码、执行命令、跑测试、修Bug,兼容Win/macOS/Linux。(239字)

热门文章

最新文章