Docker-----私有仓库和Hub仓库

Posted S4061222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker-----私有仓库和Hub仓库相关的知识,希望对你有一定的参考价值。

前言

有私有和共有仓库,仓库本质:存放景象,认证+景象层的数据类
私有仓库
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

一.本地私有仓库的搭建

真机开启地址伪装功能,虚拟机的网关加入真机ip,虚拟机可以上网
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述启动本地私有仓库,-v表示本地 /opt/ 映射容器中的 /var/lib ,-p:端口映射当前su主机(server1)的5000映射为容器内的5000
查看容器是否运行:docker ps
在这里插入图片描述查看本地映射的仓库路径
在这里插入图片描述
查看端口5000是否打开

在这里插入图片描述将容器中的game2048镜像标记到本地仓库中
在这里插入图片描述上传镜像到本地私有仓库,传成功后本地指定的路径 /opt/registry 中也产生了文件
在这里插入图片描述删除之后,重新加载,之前的内容依然存在

在这里插入图片描述

1.本地私有仓库的加密

创建目录,保存认证和钥匙, 生成密钥

openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -x509 -days 365 -out certs/westos.org.crt

在这里插入图片描述
解析 reg.westos.org
在这里插入图片描述
拉起容器, 查看容器是否启动

docker run -d --name registry -v /opt/registry:/var/lib/registry -p 443:443 -v "$(pwd)"/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key  registry

在这里插入图片描述查看容器网络端口映射

在这里插入图片描述

标记重命名nginx并归类到本地 reg.westos.org 仓库中
在这里插入图片描述
推行上传, 报错原因:读取不到认证文件
在这里插入图片描述
将认证移动到指定目录
在这里插入图片描述
推行上传到本地的私有仓库成功
在这里插入图片描述
测试:查看上传的内容
在这里插入图片描述

2.本地私有仓库的加密和认证

创建认证目录
在这里插入图片描述
安装生成认证的软件httpd-tools

在这里插入图片描述
查看用法
在这里插入图片描述
为admin用户和jiaojiao用户添加认证信息和密码
在这里插入图片描述查看已经生成的认证

在这里插入图片描述删除之前的仓库信息, 重新拉起仓库容器

docker run -d --name registry -v /opt/registry:/var/lib/registry -p 443:443 -v "$(pwd)"/certs:/certs -e REGISTRY_HTTP_ADDR=0.0.0.0:443 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/westos.org.crt -e REGISTRY_HTTP_TLS_KEY=/certs/westos.org.key -v "$(pwd)"/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd  registry

在这里插入图片描述
查看容器是否运行启, 查看日志:启动无异常
在这里插入图片描述
注意:仓库认证完成后,上传和下载前需要登陆,login
在这里插入图片描述
查看认证信息, 退出后,认证信息消失

在这里插入图片描述
server2:远程拉取server1本地仓库的内容

安装docker,重启服务,修改本地解析
warning的解决方法:

[root@server2 ~]# vim /etc/sysctl.d/docker.conf

[root@server2 ~]# sysctl --system
[root@server2 ~]# scp server1:/etc/yum.repos.d/docker.repo /etc/yum.repos.d/
root@server1's password: 
docker.repo                                                       100%   75   198.5KB/s   00:00    
[root@server2 ~]# cat /etc/yum.repos.d/docker.repo 
[docker]
name=doccker-ce
baseurl=http://172.25.28.250/docker-ce
gpgcheck=0
[root@server2 ~]# yum install -y docker-ce
[root@server2 ~]# systemctl enable --now docker

在这里插入图片描述
将server1的认证信息传给server2
在这里插入图片描述
server1上传镜像
在这里插入图片描述使用login,pull和push ,不然会报错显示未认证

serve2 拉取镜像
在这里插入图片描述
可以看到server2拉取的镜像
在这里插入图片描述

二.Hub仓库

1.搭建Hub仓库

docker-compose : 主要用于在单机层面如何管控多个服务器

解压harbor-offline压缩包
在这里插入图片描述
修改harbor配置文件
在这里插入图片描述
在这里插入图片描述
下载 docker-compose-Linux-x86 _64-1.27.0,file docker-compose-Linux-x86 _64-1.27.0查看

在这里插入图片描述
docker-compose-Linux-x86 _64-1.27.0复制到 /usr/local/bin/docker-compose,增加执行权限,docker-compose查看命令参数
在这里插入图片描述在这里插入图片描述在这里插入图片描述
将server1的认证信息移动到/data/(中, 使用脚本安装并启动harbor
data目录install后自动生成

在这里插入图片描述
安装启动成功提示
在这里插入图片描述
docker-compose 命令:

docker-compose ps
docker-compose start
docker-compose logs

在这里插入图片描述
在这里插入图片描述
修改解析文件
在这里插入图片描述
测试:
firefox :reg.westos.org
在这里插入图片描述在这里插入图片描述
镜像查看
在这里插入图片描述

端口查看
在这里插入图片描述
上传镜像到library项目中
在这里插入图片描述
可以在网页中查看日志并且在library中找到项目

在这里插入图片描述
在这里插入图片描述
添加默认仓库路径
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
docker info 可以查看到新的添加
在这里插入图片描述
server2 下载nginx 会发现从library项目中拉取nginx镜像
在这里插入图片描述
网页查看下载日志:
在这里插入图片描述
删除后可以直接run 拉取仓库的nginx
在这里插入图片描述在这里插入图片描述在这里插入图片描述

curl测试:
在这里插入图片描述
在这里插入图片描述
项目维护人员对项目进行管理,首先web添加项目westos和项目维护人员jiaojiao
在这里插入图片描述在这里插入图片描述添加用户jiaojiao
在这里插入图片描述
添加用户到westos项目成员
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加镜像到westos项目中

在这里插入图片描述
在这里插入图片描述
以jiaojiao的用户登陆,拉取镜像, 查看日志

在这里插入图片描述在这里插入图片描述在这里插入图片描述

2.Hub仓库的扫描

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
配置管理中选择自动扫描镜像,上传镜像
在这里插入图片描述在这里插入图片描述
可以看到镜像已经扫描过
在这里插入图片描述在这里插入图片描述

3.Hub仓库的签名

实验说明:

配置管理中选择内容信任和漏洞扫描:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
原因:配置管理中选择内容信任,但未签名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

以上是关于Docker-----私有仓库和Hub仓库的主要内容,如果未能解决你的问题,请参考以下文章

搭建docker私有仓库

上传镜像到自己的hub仓库

Docker仓库管理镜像 -- 公共仓库Docker Hub和私人仓库Registry和harbor

docker:用registry快速搭建私有镜像仓库

docker 仓库

Docker私有仓库Registry的搭建验证