- 私有仓库介绍
- 有时候使用 Docker Hub 这样的公共仓库可能丌方便(有时候无法访问),用户可以创建一个本地仓库供私人使用,这里使用官方提供的工具 docker-registry 来配置私有库
- 私有仓库好处:
1、节约带宽
2、可以自己定制系统 - 搭建私有仓库的思路:
老的思路:下载源码 tar/yum 安装 -》 安装-》修改配置文件-》启动服务 - 使用 docker 思路:直接下载并使用 registry 镜像吭劢 docker 实例,这样仓库就搭建成功了。
- 有了 docker 以后,所有软件丌再以 office.exe 或者 lrzsz.rpm 形式发布,而以 docker 镜像发布。只需要下载 docker 镜像并运行一个 docker 实例。有了 docker 以后,再也不用为安装 linux 服务而发愁!
- 实验环境:
docker 私有仓库地址:192.168.2.234
docker 服务器地址 : 192.168.2.2 会使用 2.234 上 docker 私有仓库来pull/push 镜像 - 首先配置 192.168.2.234 为 docker 私有仓库
- yum install -y yum-utils device-mapper-persistent-data lvm2
- yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- yum install docker-ce docker-ce-cli containerd.io -y
- systemctl enable docker --now
- 停止防火墙,注意每次重启 docker 服务都会重新加载 iptables
- 拉取 registry 镜像。 registry 镜像中包括搭建本地私有仓库的软件
- docker pull registry
- 不指定版本会 pull 最新 latest
- registry 镜像中已经把搭建私有库程序安装好了,只需要使用 registry 镜像运行一个 docker 实例就可以了。
- 默认情况下,Registry 程序的存放镜像信息的目录是/var/lib/registry 目录下,这样如果容器被移除,则存放于容器中的镜像也会丢失,所以一般情况下会指定本地物理机一个目录如/opt/registry 挂载到容器的/var/lib/registry 下。
- 使用-v 参数,指定本地持久的路径。registry 服务监听到端口号,默认是 5000
- docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry registry:latest
- 会自动创建 registry 目录
- 查看私有仓库中的镜像列表:
http://192.168.2.234:5000/v2/_catalog - 发现,现在还是空的,后面上传了本地 docker 镜像到私有仓库中,就有数据了。
-
在 192.168.2.2上搭建 docker 服务并使用私有仓库
- yum install -y yum-utils device-mapper-persistent-data lvm2
- yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- yum install docker-ce docker-ce-cli containerd.io -y
- systemctl enable docker --now
- 修改 docker 配置文件,指定 docker 镜像加速结点为:私有仓库的地址
- vim /etc/docker/daemon.json #创建这个 daemon.json 文件,写入以下内容:
{
"insecure-registries": [ "192.168.2.234:5000" ]
} - 注:添加红色标记文字。 insecure-registries 不安全的注册。这里的不安全指的是走 http 协议,要想安全传输镜像,需要使用 https 协议。私有仓库一般是局域中使用,所以直接使用 http 协议就可以了。
- 上传本地镜像到私有仓库,下载一个实验用的 容器 busybox
- docker pull busybox
- 注:
BusyBox 概述: BusyBox 是一个集成了一百多个最常用 Linux 命令和工具的软件。BusyBox 包含了 BusyBox 包含了一些简单的工具,