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


相关推荐
骅青3 分钟前
kubernetes调度2
容器·kubernetes
qq 1778036221 小时前
智能新时代,游戏盾守护顺畅体验
运维·服务器·网络·游戏·云计算·ddos·ip
Alone80462 小时前
K8s中HPA自动扩缩容及hml
云原生·容器·kubernetes
神秘的土鸡2 小时前
Linux中使用Docker容器构建Tomcat容器完整教程
linux·运维·服务器·docker·容器·tomcat
玖石书2 小时前
docker 数据管理
docker·容器
TravisBytes3 小时前
linux 系统是如何收发数据包
linux·运维·服务器
HoweWWW3 小时前
k8s-API 访问控制
云原生·容器·kubernetes
2420304 小时前
Docker笔记-容器数据卷
docker
德迅--文琪4 小时前
SCDN是服务器吗?SCDN防御服务器有什么特点?
运维·服务器
ice___Cpu4 小时前
Linux 基本使用和 web 程序部署 ( 8000 字 Linux 入门 )
linux·运维·前端