从 01 开始 从 01 开始
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档

晓林

程序猿,自由职业者,博主,英语爱好者,健身达人
首页
  • 📚 计算机基础

    • 计算机简史
    • 数字电路
    • 计算机组成原理
    • 操作系统
    • Linux
    • 计算机网络
    • 数据库
    • 编程工具
    • 装机
  • 🎨 前端

    • Node
  • JavaSE
  • Java 高级
  • JavaEE

    • 构建、依赖管理
    • Ant
    • Maven
    • 日志框架
    • Junit
    • JDBC
    • XML-JSON
  • JavaWeb

    • 服务器软件
    • 环境管理和配置管理-科普篇
    • Servlet
  • Spring

    • Spring基础
  • 主流框架

    • Redis
    • Mybatis
    • Lucene
    • Elasticsearch
    • RabbitMQ
    • MyCat
    • Lombok
  • SpringMVC

    • SpringMVC 基础
  • SpringBoot

    • SpringBoot 基础
  • Windows 使用技巧
  • 手机相关技巧
  • 最全面的输入法教程
  • 最全面的浏览器教程
  • Office
  • 图片类工具
  • 效率类工具
  • 最全面的 RSS 教程
  • 码字工具
  • 各大平台
  • 校招
  • 五险一金
  • 职场规划
  • 关于离职
  • 杂谈
  • 自媒体
  • 📖 读书

    • 读书工具
    • 走进科学
  • 🌍 英语

    • 从零开始学英语
    • 英语兔的相关视频
    • Larry 想做技术大佬的相关视频
  • 🏛️ 政治

    • 反腐
    • GFW
    • 404 内容
    • 审查与自我审查
    • 互联网
    • 战争
    • 读书笔记
  • 💰 经济

    • 关于税
    • 理财
  • 💪 健身

    • 睡眠
    • 皮肤
    • 口腔健康
    • 学会呼吸
    • 健身日志
  • 🏠 其他

    • 驾驶技能
    • 租房与买房
    • 厨艺
  • 电影

    • 电影推荐
  • 电视剧
  • 漫画

    • 漫画软件
    • 漫画推荐
  • 游戏

    • Steam
    • 三国杀
    • 求生之路
  • 小说
  • 关于本站
  • 关于博主
  • 打赏
  • 网站动态
  • 友人帐
  • 从零开始搭建博客
  • 搭建邮件服务器
  • 本站分享
  • 🌈 生活

    • 2022
    • 2023
    • 2024
    • 2025
  • 📇 文章索引

    • 文章分类
    • 文章归档
  • 计算机简史

  • 数字电路

  • 计算机组成原理

  • 操作系统

  • Linux

    • Linux 命令学习

    • 文本处理三剑客

    • Linux安全

    • Docker

      • 尚硅谷Docker实战教程

        • 教程简介
        • Docker 简介
        • Docker 安装
        • Docker 配置国内镜像源
        • Docker 常用命令
        • 镜像的分层概念
        • 发布镜像
        • Docker 私有库
          • 搭建私有库
          • 创建新镜像
          • 提交镜像到私有库
          • 拉取镜像到本地
        • 容器数据卷
        • Docker 常用软件安装
        • MySQL 主从复制
        • 分布式存储之哈希取余算法
        • 3 主 3 从Redis集群搭建与扩缩容
        • Dockerfile
        • 虚悬镜像
        • Docker 微服务实战
        • Docker 网络
        • Docker-compose 容器编排
        • Portainer
        • Docker 重量级监控
        • Docker 系列完结
        • 记一次启动容器失败
  • 计算机网络

  • 数据库

  • 编程工具

  • 装机

  • 计算机基础
  • Linux
  • Docker
  • 尚硅谷Docker实战教程
2023-09-18
目录

Docker 私有库

# 60.Docker 私有库

对于涉及机密的公司,不可能提供镜像给公网中的镜像仓库,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。

Docker Registry 是官方提供的工具,可以用于构建私有镜像仓库。

‍‍

# 搭建私有库

私有库的搭建也很简单,也是下载一个镜像,然后 run 就可以了。下载镜像:

$ docker pull registry
1

运行 registry:

$ docker run -d -p 5000:5000 -v ~/myregistry/:/tmp/registry --privileged=true registry

$ docker ps
CONTAINER ID   IMAGE      COMMAND                   CREATED          STATUS          PORTS                                       NAMES
217a40f12d7f   registry   "/entrypoint.sh /etc…"   14 seconds ago   Up 13 seconds   0.0.0.0:5000->5000/tcp, :::5000->5000/tcp   amazing_bell
1
2
3
4
5

‍ 参数说明:

  • -d:后台运行
  • -p:端口映射,5000 端口
  • -v:设置容器卷映射。默认情况,仓库被创建在容器的/var/lib/registry 目录下,建议自行用容器卷映射,方便于宿主机联调。这里将目录设置为用户主目录下的 myregistry
  • --privileged:权限设置。使用该参数,container 内的 root 拥有真正的 root 权限。否则,container 内的 root 只是外部的一个普通用户权限。

关于容器卷映射,后续会展开来说。

# 创建新镜像

接下来我们创建一个新的镜像(Ubuntu 上安装 ifconfig),用于提交到私有库。

原本的 Ubuntu 是不带 ifconfig 命令的:

$ docker run -it ubuntu
$ ifconfig
bash: ifconfig: command not found
1
2
3

安装 ifconfig:

apt-get update
apt-get install net-tools
1
2

提交镜像(注意要在容器外执行):

# 命令格式
$ docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

# 命令实例
$ docker commit -m="add ifconfig " -a="peterjxl" 21sssd7f myubuntu:1.2


$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
myubuntu     1.2       6b3c9d741785   2 minutes ago   26.2MB
registry     latest    b8604a3fe854   21 months ago   26.2MB
ubuntu       latest    ba6acccedd29   22 months ago   72.8MB
1
2
3
4
5
6
7
8
9
10
11
12

‍

# 提交镜像到私有库

我们先看看当前私有库有什么镜像(IP 替换为自己的虚拟机的 IP,可以通过 ifconfig 查看):

$ curl -XGET http://192.168.2.242:5000/v2/_catalog
{"repositories":[]}
1
2

‍ 可以看到是空的,没有镜像;然后将新镜像修改符合私服规范的 Tag:

# 命令格式
$ docker tag 镜像:Tag Host:Port/Repository:Tag

# 例如:
$ docker tag myubuntu:1.2 192.168.2.242:5000/myubuntu:1.2
1
2
3
4
5

Docker 默认不允许 HTTP 方式推送镜像,可以通过配置选项来取消这个限制。修改配置文件 /etc/docker/daemon.json​,添加一行配置(第 3 行,此外第二行末尾要添加一个逗号):

{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"],
  "insecure-registries": ["192.168.2.242:5000"]
}
1
2
3
4

修改完后如果不生效,建议重启 Docker(重启完 Docker 后,registry 也要重启)

接下来就可以推送到私服库:

$ docker push 192.168.2.242:5000/myubuntu:1.2
The push refers to repository [192.168.2.242:5000/myubuntu]
9dbe0ed09e2c: Pushed 
aeccf26589a7: Pushed 
f640be0d5aad: Pushed 
aa4330046b37: Pushed 
ad10b481abe7: Pushed 
69715584ec78: Pushed 
1.2: digest: sha256:ef7fee6899240191443107b857bc23a08d5a23fb5fe0e2590ff35c44bac8f292 size: 1570
1
2
3
4
5
6
7
8
9

‍ 再次验证私服库上有什么镜像:

$ curl -XGET http://192.168.2.242:5000/v2/_catalog
{"repositories":["myubuntu"]}
1
2

# 拉取镜像到本地

接下来我们试着删除本地镜像,然后从私服中拉取镜像:

$ docker rmi -f 6b3c9d741785
$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
registry     latest    b8604a3fe854   21 months ago   26.2MB
ubuntu       latest    ba6acccedd29   22 months ago   72.8MB


$ docker pull 192.168.2.242:5000/myubuntu:1.2
$ docker images
REPOSITORY                    TAG       IMAGE ID       CREATED          SIZE
192.168.2.242:5000/myubuntu   1.2       6b3c9d741785   31 minutes ago   26.2MB
registry                      latest    b8604a3fe854   21 months ago    26.2MB
ubuntu                        latest    ba6acccedd29   22 months ago    72.8MB
1
2
3
4
5
6
7
8
9
10
11
12
13

‍ 可以看到拉取成功了,试着运行该镜像,也可以看到与 ifconfig 命令。 ‍ (完)

上次更新: 2025/6/3 17:50:46
发布镜像
容器数据卷

← 发布镜像 容器数据卷→

最近更新
01
语雀文档一键下载至本地教程
07-04
02
要成功,就不要低估环境对你的影响
07-03
03
血泪教训:电子设备要定期开机
07-02
更多文章>
Theme by Vdoing | Copyright © 2022-2025 | 粤 ICP 备 2022067627 号 -1 | 粤公网安备 44011302003646 号 | 点击查看十年之约
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式