8.docker仓库

文章目录

Docker仓库

本地私有仓库

复制代码
##先下载   registry 镜像

docker pull registry

##修改配置文件,在   daemon.json 文件中添加私有镜像仓库地址

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.66:5000"],   
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}
复制代码
##重启服务

systemctl restart docker.service

##运行  registry  容器

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
复制代码
###为要上传的镜像重新打标签

docker tag nginx:centos7 192.168.242.66:5000/nginx:v1
复制代码
##上传镜像到私有仓库

docker push 192.168.242.66:5000/nginx:v1
复制代码
###在网页中查看所有的镜像

http://192.168.242.66:5000/v2/_catalog


###查看仓库中某一个镜像的tag标签

http://192.168.242.66:5000/v2/nginx/tags/list


复制代码
###在另外一个docker服务器中,拉去这个仓库中是镜像

##也要先修改配置文件

##修改配置文件,在   daemon.json 文件中添加私有镜像仓库地址

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.66:5000"],   
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}


##重启服务

systemctl restart docker.service

##在配置文件修改完成后,拉取镜像

docker pull 192.168.242.66:5000/nginx:v1

Docker Harbor

Docker harbor部署

复制代码
##首先,先修改   daemon.json  配置文件

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.67"],   
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}


##重启Docker服务
systemctl restart docker 

##上传  Docker harbor 安装文件并安装
##安装  Docker-compose  服务

cd /opt/

tar xf harbor-offline-installer-v1.10.18.tgz


chmod +x docker-compose
mv /opt/docker-compose /usr/local/bin/docker-compose
docker-compose --version
复制代码
##修改  harbor  配置文件

cd /opt/harbor

vim  harbor.yml


---第5行---
hostname: 192.168.242.67

---第13行---
注释掉https的配置项

---第27行
harbor_admin_password: Harbor12345
##记住harbor的密码
复制代码
##先做前其准备或者之间安装 harbor

cd /opt/harbor

./prepare


./install.sh        ##自动安装



###查看所有的镜像是否安装成功

docker-compose ps


访问页面

复制代码
###在网页中登陆到 harbor

http://192.168.242.67

用户:admin
密码:Harbor12345

##就可以看见页面
复制代码
##在页面中创建项目


---》项目
---》新建项目
--》项目名称,其他默认,如果要创建公开仓库,可以点击公开
复制代码
###上传镜像文件到  harbor的私有和共有仓库
##先修改标签

docker tag centos:7 192.168.242.67/library/centos:test01

docker tag centos:7 192.168.242.67/myimages/centos:test02


##要上传镜像到  harbor,需要先登录

docker login -u admin -p Harbor12345 http://192.168.242.67

##上传镜像

docker push 192.168.242.67/library/centos:test01

docker push 192.168.242.67/myimages/centos:test02



创建用户下载私有仓库镜像

复制代码
--》用户管理
--》创建用户
--》按照要求填写选项
复制代码
##对应的项目中添加用户

--》项目
--》点击项目名
--》成员,添加用户
--》为用户选择角色(决定用户的权限)
复制代码
###在另外一个docker服务器中,拉取这个harbor仓库的镜像

##先修改配置文件

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.67"],   
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}


##重启Docker服务
systemctl restart docker

###先利用创建的用户登陆 harbor

docker login -u lisi -p Lisi12345 http://192.168.242.67

##利用lisi 在myimages项目中的维护人员身份,来去镜像文件

docker pull 192.168.242.68/myimages/nginx:v2
复制代码
###退出  lisi的登陆用户

docker logout

docker login -u zhangsan -p Zhangsan123 http://192.168.242.67

##尝试利用  zhangsan  的身份拉取镜像,成功

docker pull 192.168.242.68/myimages/nginx:v2
复制代码
###利用这连个用户,尝试上传镜像

docker tag 192.168.242.66:5000/nginx:v2 192.168.242.68/myimages/ngin:v3
##先修改标签

docker push 192.168.242.68/myimages/ngin:v3
##在上传镜像


  • 结论

    • 拉取操作时:

      • 公开项目的镜像可以被任意用户拉取
      • 私有项目的镜像必须先登陆项目对应的相关用户才能拉取
    • 上传操作时:

      • 必须先登陆相关项目的用户,且登陆的用户具有上传权限的角色才能够推送镜像

harbor同步

复制代码
###在另外的一台的docker服务器中创建harbor服务

##首先,先修改   daemon.json  配置文件

vim /etc/docker/daemon.json

{
  "insecure-registries": ["http://192.168.242.66"], 
    ##注意在末尾添加  ,
    
  "registry-mirrors": ["镜像加速URL"]
}


##重启Docker服务
systemctl restart docker

##在harbor的配置文件中

 vim harbor.yml
 
 
 
---第5行---
hostname: 192.168.242.66

---第13行---
注释掉https的配置项

---第27行
harbor_admin_password: Harbor12345
##记住harbor的密码

##在web中访问另外一台 harbor

http://192.168.242.66
复制代码
###仓库管理

--》仓库管理
--》新建目标      提供者  : harbor      目标名:另一个harborIP    目标URL:另一个harborIP
                 访问ID:admin     访问密码:就是密码
--》测试链接   成功就确认


##两个harbor之间都要互相做对方的仓库管理
复制代码
##两个 harbor  进行复制管理,首先创建   push  是触发动作,实现镜像同步

--》复制管理
--》新建规则
--》按照要求进行填写        名称:对方harbor的IP     复制模式:按要求选
                         目标的Registry:选择创建的仓库管理
                         触发模式:事件驱动
                         勾选  删除本地资源时,删除远程资源
复制代码
##在192.168.242.68上  上传镜像,查看另一个harbor是否同步

docker tag nginx:latest 192.168.242.68/myimages/nginx:v8

docker login -u admin -p Harbor12345 http://192.168.242.68

docker push 192.168.242.68/myimages/nginx:v8



复制代码
##在 192.168.242.66 的主机上创建  pull  来去来复制镜像

--》复制管理
--》新建规则
--》按照要求进行填写        名称:对方harbor的IP     复制模式:按要求选
                         目标的Registry:选择创建的仓库管理
                         触发模式:定时
                         Cron String 0 */1 * * * *
                         覆盖勾选


相关推荐
ulias2121 天前
Linux系统中的权限问题
linux·运维·服务器
青花瓷1 天前
Ubuntu下OpenClaw的安装(豆包火山API版)
运维·服务器·ubuntu
问简1 天前
docker 镜像相关
运维·docker·容器
Dream of maid1 天前
Linux(下)
linux·运维·服务器
齐鲁大虾1 天前
统信系统UOS常用命令集
linux·运维·服务器
Benszen1 天前
Docker容器化技术实战指南
运维·docker·容器
ZzzZZzzzZZZzzzz…1 天前
Nginx 平滑升级:从 1.26.3 到 1.28.0,用户无感知
linux·运维·nginx·平滑升级·nginx1.26.3·nginx1.28.0
Hommy881 天前
【开源剪映小助手】Docker 部署
docker·容器·开源·github·aigc
一叶知秋yyds1 天前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
斯普信云原生组1 天前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器