CentOS7搭建registry
本文的安装环境是CentOS 7.3,不适用CentOS 6.x的相关环境
registry搭建流程如下
- Docker 要求 CentOS 系统的内核版本高于3.10,通过 uname -r 命令查看你当前的内核版本
- 使用 root 权限登录 Centos。确保 yum 包更新到最新。执行如下命令进行更新,
sudo yum update - 卸载旧版本(如果安装过旧版本的话),执行如下命令,
sudo yum remove docker docker-common docker-selinux docker-engine - 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的,
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 - 设置yum源,
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo - 可以查看所有仓库中所有docker版本,并选择特定版本安装,
yum list docker-ce --showduplicates | sort -r - 安装docker,
sudo yum install docker-ce-18.03.1.ce - 启动docker,并加入开机启动。启动docker:
sudo systemctl start docker,加入开机启动:sudo systemctl enable docker - 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)。
docker version - docker加速器,登录daocloud.io 点击小火箭,会自动生成如下指令:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io,在命令行中执行,会在 /etc/docker/ 目录下生成一个 daemon.json 文件,文件内容如下:{"registry-mirrors": ["http://74f21445.m.daocloud.io"], "insecure-registries": []}, “insecure-registries”: [] 部分需要手动添加。 - 在 daemon.json 文件中添加 本机的 ip:端口
{"registry-mirrors": ["http://74f21445.m.daocloud.io"], "insecure-registries": [“127.0.0.1:5000”]} - 拉取 registry 镜像
docker pull registry - 基于 registry 镜像启动仓库容器
docker run -itd -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry-server registry
参数说明
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;
-v:把宿主机的/data/registry目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了;
–restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;
–name registry:创建容器命名为registry,你可以随便命名;
registry:latest:这个是刚才pull下来的镜像;
如果宿主机中没有registry目录需要手动创建 - 执行如下命令,查验 registry 是否正常运行
curl 127.0.0.1:5000/v2/_catalog - 给img 添加tag
只有给镜像添加上tag的标识之后,才能推送到私有仓库,否则仓库不认识它
docker tag nginx 127.0.0.1:5000/nginx - 推送img 到私有仓库
docker push 127.0.0.1:5000/nginx - 测试,删除本地镜像,从私有仓库拉取
docker rm 127.0.0.1:5000/nginx
docker pull 127.0.0.1:5000/nginx
本文详细介绍了在CentOS7环境下搭建私有Docker Registry的完整流程,包括系统环境准备、Docker安装与配置、Registry镜像拉取及容器启动、本地镜像推送与测试等关键步骤。

被折叠的 条评论
为什么被折叠?



