搭建一个docker的镜像私有仓库

Docker镜像私有仓库

为了更好的管理镜像

  • 公网仓库:docker hub
  • 私网仓库: registry、harbor

搭建私有registry仓库

搭建步骤

  • 拉取 registry 容器镜像
  • 创建 registry 仓库容器
  • 测试容器应用
安装registry仓库
docker pull registry 

#1、创建持久化存储,将容器镜像存储目录/var/lib/registry挂载到本地/opt/myregistry下:

mkdir /opt/myregistry

# 2、创建 registry 容器:
docker run -d -p 5000:5000 -v /opt/myregistry:/var/lib/registry  --restart=always registry:latest

# 显示仓库中没有任何镜像
curl http://192.168.1.150:5000/v2/_catalog
{"repositories":[]}
上传步骤
#1.修改标签tag,将私有仓库的域名或IP地址添加到镜像上。
docker tag hello 192.168.8.14:5000/hello-lasest:latest
#2.使用docker push上传
docker push 192.168.8.14:5000/hello-lasest:latest
#3.如果上传成功则可输入查看
curl http://192.168.1.150:5000/v2/_catalog

push过程报错

Get https://172.18.11.126:5000/v2/: http: server gave HTTP response to HTTPS client

排错

#docker默认要求仓库是https的协议
#1.服务端nginx反向代理,配置ssl加密证书。

#2.修改客户端的配置文件,让客户端允许不安全的http网址
cat /etc/docker/daemon.json 
{
 "insecure-registries": ["http://192.168.8.14:5000"]
}
#忽略https

进行重启Docker

systemctl daemon-reload
systemctl restart docker
进行下载

设置机器的docker仓库为registry仓库

#1、设置docker启动文件
[root@zuolaoshi_node1 ~]# sed -i.bak '/^ExecStart=/c\ExecStart=\/usr\/bin\/dockerd' /usr/lib/systemd/system/docker.service

#2、设置docker配置文件
[root@zuolaoshi_node1 ~]# cat  /etc/docker/daemon.json 
{
"insecure-registries": ["http://182.168.8.14:5000"]
}

拉取镜像

docker pull 192.168.8.14:5000/hello-lasest:latest
最后进行验证

docker images

如果显示有即为正确!

搭建harbor仓库

先对两个压缩包进行下载

harbor压缩包

harbor-offline-installer-v1.9.2-rc1.tgz  

compose压缩包

docker-compose 
安装docker-compose
#拷贝文件进入路径
cp docker-compose /usr/local/bin/

#给文件执行的权限
chmod +x /usr/local/bin/docker-compose 

#查看是否更改
ls /usr/local/bin/

#查看版本信息
docker-compose -v
安装harbor仓库
#对压缩包进行解压
tar xf harbor-offline-installer-v1.9.2-rc1.tgz 

#移动文件夹
mv harbor /opt/

#对配置文件进行更改
vim /opt/harbor/harbor.yml 

更改内容如下:
hostname: 192.168.8.24
# external_url: https://reg.mydomain.com:8433
exernal_url: 192.168.8.24

#保存文件退出后进行脚本安装
cd /opt/harbor/
./install.sh 

#对docker的配置文件进行添加
vim /etc/docker/daemon.json

内容如下:
"insecure-registries": ["http://192.168.8.24"]

#重启docker
systemctl daemon-reload 
systemctl restart docker

#进入网页验证即可
docker login 192.168.8.24 -u admin -p 12345
显示login Succeeded即为正确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值