搭建私有镜像仓库

搭建私有镜像仓库

一、系统资源规划

节点名称系统名称CPU内存网卡磁盘IP地址OS
Registryregistry2C4Gens3364G192.168.0.10CentOS7
Clientclient2C4Gens3364G192.168.0.20CentOS7

二、系统软件安装

如未指定,下述命令在所有节点执行!

1、安装基本软件

yum -y install vim lrzsz

在这里插入图片描述

2、安装Docker

安装所需的包:

yum -y install yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述

设置稳定存储库:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述

安装Docker CE:

yum -y install docker-ce

在这里插入图片描述

启动Docker,并设置自启动:

systemctl start docker
systemctl enable docker

在这里插入图片描述

三、系统设置

1、关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

在这里插入图片描述

2、关闭SELinux

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

在这里插入图片描述

四、搭建本地Registry(免认证)

1、配置Registry

拉取registry最新镜像:

docker pull registry

在这里插入图片描述

查看本地镜像:

docker images

在这里插入图片描述

创建镜像存贮目录:

mkdir /docker/registry -p

在这里插入图片描述

运行registry:

docker run -itd -v /docker/registry/:/docker/registry -p 5000:5000 --restart=always --name registry registry:latest

在这里插入图片描述

查看运行容器:

docker ps

在这里插入图片描述

参数说明:

1)-itd:在容器中打开伪终端进行交互操作,并在后台运行

2)-v:容器目录与主机目录映射,用于存储镜像

3)-p:容器端口与主机端口映射,用于对外服务

4)–restart=always:指定重启策略

5)–name registry:指定容器名称为registry

6)registry:latest:指定容器镜像

2、配置Clinet

指定registry地址及端口:

vim /etc/docker/daemon.json
{
  "insecure-registries": ["192.168.0.10:5000"]
}

在这里插入图片描述

重启Docker:

systemctl restart docker

在这里插入图片描述

拉取busybox最新镜像:

docker pull busybox

在这里插入图片描述

查看本地镜像:

docker images

在这里插入图片描述

为镜像重新打tag:

docker tag busybox:latest 192.168.0.10:5000/busybox:v1

在这里插入图片描述

查看本地镜像:

docker images

在这里插入图片描述

上传镜像:

docker push 192.168.0.10:5000/busybox:v1

在这里插入图片描述

在Registry上查看上传的镜像:

curl http://localhost:5000/v2/_catalog

在这里插入图片描述

删除Client本地镜像:

docker rmi busybox
docker rmi 192.168.0.10:5000/busybox:v1

在这里插入图片描述

从Registry上拉取镜像:

docker pull 192.168.0.10:5000/busybox:v1

在这里插入图片描述

五、搭建本地Registry(需认证)

1、配置Registry

拉取registry最新镜像:

docker pull registry

在这里插入图片描述

查看本地镜像:

docker images

在这里插入图片描述

创建证书及密钥存贮目录:

mkdir /etc/docker/certs -p

在这里插入图片描述

创建证书及密钥:

openssl req -newkey rsa:4096 -nodes -sha256 -keyout /etc/docker/certs/domain.key -x509 -days 365 -out /etc/docker/certs/domain.crt

在这里插入图片描述

查看证书及密钥:

ll /etc/docker/certs/

在这里插入图片描述

创建认证账号存储目录:

mkdir /etc/docker/auth -p

在这里插入图片描述

docker run --entrypoint htpasswd registry:latest -Bbn user1 123456 > /etc/docker/auth/htpasswd

docker run --entrypoint htpasswd registry:latest -Bbn user2 123456 >> /etc/docker/auth/htpasswd

在这里插入图片描述

cat /etc/docker/auth/htpasswd

在这里插入图片描述

查看所有容器:

docker ps -a

在这里插入图片描述

删除容器:

docker rm bd57ab6689ee bbcee8ebfb6e

在这里插入图片描述

创建镜像存贮目录:

mkdir /docker/registry -p

在这里插入图片描述

运行registry:

docker run -itd -p 5000:5000 --restart=always --name registry -v /etc/docker/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" -v /etc/docker/certs:/certs -e "REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt" -e "REGISTRY_HTTP_TLS_KEY=/certs/domain.key" registry:latest

在这里插入图片描述

查看运行容器:

docker ps

在这里插入图片描述

参数说明:

1)-itd:在容器中打开伪终端进行交互操作,并在后台运行

2)-v:容器目录与主机目录映射,用于存储镜像

3)-p:容器端口与主机端口映射,用于对外服务

4)–restart=always:指定重启策略

5)–name registry:指定容器名称为registry

6)registry:latest:指定容器镜像

2、配置Clinet

指定registry地址及端口:

vim /etc/docker/daemon.json
{
  "insecure-registries": ["192.168.0.10:5000"]
}

在这里插入图片描述

重启Docker:

systemctl restart docker

在这里插入图片描述

拉取busybox最新镜像:

docker pull busybox

在这里插入图片描述

查看本地镜像:

docker images

在这里插入图片描述

为镜像重新打tag:

docker tag busybox:latest 192.168.0.10:5000/busybox:v1

在这里插入图片描述

查看本地镜像:

docker images

在这里插入图片描述

登录registry:

docker login 192.168.0.10:5000

在这里插入图片描述

上传镜像:

docker push 192.168.0.10:5000/busybox:v1

在这里插入图片描述

在Registry上查看上传的镜像:

https://localhost:5000/v2/_catalog

在这里插入图片描述

删除Client本地镜像:

docker rmi busybox
docker rmi 192.168.0.10:5000/busybox:v1

在这里插入图片描述

从Registry上拉取镜像:

docker pull 192.168.0.10:5000/busybox:v1

在这里插入图片描述

登出registry:

docker logout 192.168.0.10:5000

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值