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 * * * *
                         覆盖勾选


相关推荐
DADIAN_GONG1 小时前
incomplete command on Huawei switch
linux·运维·华为
水星灭绝1 小时前
orangepi zero烧录及SSH联网
运维·ssh
TC13981 小时前
docker 终端打不开rviz2界面,报错qt.qpa.xcb: could not connect to display
docker·容器
牛马小陈同学2 小时前
Kafka+Zookeeper从docker部署到spring boot使用完整教程
linux·spring boot·docker·zookeeper·kafka·prettyzoo·kafka-ui
緣起緣落2 小时前
Linux(CentOS 7) 部署 redis 集群
linux·运维·服务器·redis·centos·集成学习
无名之逆2 小时前
[特殊字符] Hyperlane 框架:高性能、灵活、易用的 Rust 微服务解决方案
运维·服务器·开发语言·数据库·后端·微服务·rust
运维开发小白2 小时前
使用夜莺 + Elasticsearch进行日志收集和处理
运维·c#·linq
蒋星熠2 小时前
在VMware下Hadoop分布式集群环境的配置--基于Yarn模式的一个Master节点、两个Slaver(Worker)节点的配置
大数据·linux·hadoop·分布式·ubuntu·docker
404BrainNotFound3 小时前
Dokploy部署Net服务,打造CI/CD开发环境
运维·全栈
勤奋的树懒3 小时前
本地部署DeepSeek-R1(Dify压力测试和性能调优)
docker·junit·压力测试·ollama·deepseek·dify压力测试·dify性能调优