docker搭建镜像仓库

docker搭建镜像仓库的方式有两种
1、搭建私有仓库的软件有:registry及harbor
第一种:使用registry仓库
优点:仓库搭建简单,但是后期使用比较麻烦
仓库服务端:先下载registry仓库容器
docker pull hub.c.163.com/library/registry
在这里插入图片描述
查看镜像的CMD属性,可以查看容器端口为5000,数据存储在/var/lib/registry
docker history hub.c.163.com/library/registry
在这里插入图片描述
根据具体的镜像信息,拉取一个仓库容器
docker run -dit --name=myreg --restart=always -p 5000:5000 -v /myreg:/var/lib/registry hub.c.163.com/library/registry
在这里插入图片描述
客户端推送镜像至镜像仓库
docker push
首先镜像往哪个仓库里面推送,是由镜像名决定的
推送镜像前首先更改要推送的镜像的镜像名,改为镜像仓库的ip地址及端口,tag自定义
docker tag hub.c.163.com/library/mysql:latest 192.168.26.102:5000/cka/mysql:v1
docker tag hub.c.163.com/library/wordpress:latest 192.168.26.102:5000/web/blog:v2022-2
在这里插入图片描述
在这里插入图片描述
推送镜像,显示推送镜像失败,从docker1.9.2开始,都是通过https方式进行通信传输,若要通过http进行通信,需要更改参数
docker push 192.168.26.102:5000/web/blog:v2022-2
在这里插入图片描述
##########################http传输参数更改###################################
第一种方式:在客户端添加就行,服务端不用加
vim /etc/docker/daemon.json #新增一条参数
“insecure-registrise”: [“192.168.26.102:5000”]
在这里插入图片描述
在这里插入图片描述
重启服务
在这里插入图片描述
第二种方式:客户端、服务端参数都需要更改
systemctl status docker #查看docker的启动脚本文件路径
在这里插入图片描述
vim /usr/lib/systemd/system/docker.service #打开文件脚本
插入–insecure-registry 192.168.26.102:5000
在这里插入图片描述
在这里插入图片描述
两边都要重启服务
在这里插入图片描述
###############################################################################
再次推送镜像至仓库,显示成功
docker push 192.168.26.102:5000/web/blog:v2022-2
在这里插入图片描述
在这里插入图片描述
服务端查看文件是否已经上传了,看卷的目录是否存在数据就行
在这里插入图片描述
客户端拉取镜像
删除所有镜像的快速方式
systemctl stop docker.socket #先停止docker服务
在这里插入图片描述
rm -rf /var/lib/docker/* #强制删除所有镜像文件
systemctl start docker.socket #开启docker服务
客户端查看仓库服务器的所有镜像
curl 192.168.26.102:5000/v2/_catalog #查看所有镜像
curl 192.168.26.102:5000/v2/cka/mysql/tags/list #查看镜像的tag
curl 192.168.26.102:5000/v2/web/blog/tags/list #查看镜像的tag
在这里插入图片描述
###########################可以写脚本查看对应的镜像信息########################
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
#########################################################
拉取镜像docker pull 192.168.26.102:5000/cka/mysql:v1
在这里插入图片描述
在这里插入图片描述
镜像仓库镜像的存储路径,两个路径都是
/myreg/docker/registry/v2/repositories/
/myreg/docker/registry/v2/blobs/
在这里插入图片描述
如何删除镜像仓库的镜像呢,有一个第三方py脚本执行,服务端执行
在这里插入图片描述
在这里插入图片描述
执行脚本删除
在这里插入图片描述
客户端再次查看镜像仓库镜像就少了blog镜像,镜像仓库的镜像就删除了
在这里插入图片描述

第二种
使用harbor搭建私有镜像仓库
服务端默认端口:80

################http传输参数更改#########################
第一种方式:在客户端添加就行,服务端不用加,第二种方式不用加这个
客户端配置
vim /etc/docker/daemon.json
在这里插入图片描述
systemctl daemon-reload;systemctl restart docker
#######################################################
第二种方式,客户端服务端都需要更改
vim /usr/lib/systemd/system/docker.service #打开文件脚本
–insecure-registry 192.168.26.102
在这里插入图片描述
在这里插入图片描述
重启服务
systemctl daemon-reload;systemctl restart docker
#########################################################
服务端配置
下载docker-compose -y
yum -y install docker-compose
在这里插入图片描述
harbor网址:https://github.com/docker/compose/releases
下载离线包(视频使用2.3.5的版本)
离线包下载后上传至服务器并解压
在这里插入图片描述
解压完成后会多一个以harbor的文件夹
在这里插入图片描述
docker load -i harbor.v2.3.5.tar.gz #导入harbor,压缩包根据实际情况定义
在这里插入图片描述
执行docker images可以查看到导入的镜像文件
在这里插入图片描述
导入完成后拷贝一个yum文件,并改名
cp harbor.yml.tmpl harbor.yml #拷贝yml文件并改名
在这里插入图片描述
修改配置文件
vim harbor.yml
hostname: 192.168.26.102 #hostname后面接ip就是用ip访问,后面接主机名就用主机名访问
https模块条目要删除,详情见图:
在这里插入图片描述
配置harbor_admin的密码
harbor_admin_passwd:Harbor12345 #可保持默认,也可以更改
保持退出
在这里插入图片描述
更改完成后,保存退出,然后执行脚本
./prepare
在这里插入图片描述
然后执行install脚本进行安装
./install.sh
在这里插入图片描述
完成后可以根据浏览器访问了
http://192.168.26.102
admin
密码:Harbor12345
在这里插入图片描述
###########################问题######################################
当harbor运行了一段时间后,发现admin没法登录了,且确保密码是正确的,那如何处理?
可以通过重启harbor容器解决。
执行docker-compose restart 如果报error错误,请执行下面的
在这里插入图片描述

docker-compose stop
docker-compose start -d
在这里插入图片描述
docker-compose ps #查看docker harbor的进行
docker-compose up -d #开启docker harbor所有服务
在这里插入图片描述
#####################################################################
登录后的界面
在这里插入图片描述
可以尝试在用户管理里面创建用户
在这里插入图片描述
在这里插入图片描述
在上传镜像前,先创建一个项目
容器的命名:主机名:端口/分类/镜像名:tag
其中的项目就是对应的分类
在这里插入图片描述
进入创建的cka项目—>成员----->添加刚刚创建的用户
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击镜像仓库,目前还没有镜像文件
在这里插入图片描述
在推送命令里面可以看到提示,推送镜像的命令是什么
在这里插入图片描述
推送镜像至镜像仓库
查看镜像:docker images
在这里插入图片描述
往harbor镜像仓库推送镜像,必须要先登录才行
docker login +镜像仓库服务器的ip地址,然后输入账户密码就能登录,账户密码为项目里面添加成员的账户密码
docker login 192.168.26.102
在这里插入图片描述
第二种登录方式
docker login +服务器ip -u 成员用户名 -p 密码
docker login 192.168.26.102 -u tom -p Harbor12345
在这里插入图片描述
登录的信息会保存到config.json文件下
查看信息
cat .docker/config.json
在这里插入图片描述
登录完成后推送镜像
docker push +镜像信息
docker push 192.168.26.102/cka/blog:v2022-2
在这里插入图片描述
在harbor镜像仓库查看镜像
在这里插入图片描述
客户端拉取镜像
先复制镜像链接
在这里插入图片描述
客户端直接粘贴拉取命令
在这里插入图片描述
在这里插入图片描述
所以客户端拉取镜像的时候将@后面的校验码删除掉,手动添加一个tag
首先查看要拉取镜像的tag
在这里插入图片描述
删除校验码,手动改为查看的tag,拉取镜像,正常拉取
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值