当前位置: 首页 > article >正文

docker私有仓库,仓库管理器

目录

1.简单私有仓库管理

1.概述

2.上传镜像到私有仓库

3.从私有仓库拉取镜像

2.基于Docker搭建Nexus构建Docker私服

1.下载nexus3的镜像

2.启动容器

3.登录管理平台创建Docker总库

4.创建Docker存储库

5.配置仓库Realms

6.Docker输入地址进行登录操作


1.简单私有仓库管理

1.概述

Docker官方的Docker hub(https://hub.docker.com)是一个用于管理公共镜像的仓库,我们可以从上面拉取镜像 到本地,也可以把我们自己的镜像推送上去。但是,有时候我们的服务器无法访问互联网,或者你不希望将自己的镜 像放到公网当中,那么我们就需要搭建自己的私有仓库来存储和管理自己的镜像。
# 1、拉取私有仓库镜像 
docker pull registry
# 2、启动私有仓库容器 
docker run -id --name=registry -p 25000:5000 registry
​
firewall-cmd --zone=public --add-port=25000/tcp --permanent
firewall-cmd --reload
# 3、打开浏览器 输入地址http://私有仓库服务器ip:25000/v2/_catalog,看到{"repositories":[]} 表示私有仓库 搭建成功
# 4、修改daemon.json   
vim /etc/docker/daemon.json    
# 在上述文件中添加一个key,保存退出。此步用于让 docker 信任私有仓库地址;注意将私有仓库服务器ip修改为自己私有仓库服务器真实ip 
{"insecure-registries":["ip:25000"]} 
# 5、重启docker 服务 
systemctl restart docker
docker start registry

2.上传镜像到私有仓库

# 1、标记镜像为私有仓库的镜像     
docker tag redis:5.0  私有仓库服务器IP:25000/redis:5.0 
 
# 2、上传标记的镜像     
docker push 私有仓库服务器IP:25000/redis:5.0 
​
# 3、查看私有仓库镜像列表
http://ip:25000/v2/_catalog

3.从私有仓库拉取镜像

#拉取镜像 
docker pull 私有仓库服务器ip:25000/centos:7

2.基于Docker搭建Nexus构建Docker私服

Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。我们可以在局域网搭建一个maven私服,用来部署第三方公共构件或者作为远程仓库在该局域网的一个代理

1.下载nexus3的镜像

docker pull sonatype/nexus3
Trying to pull repository docker.io/sonatype/nexus3 ... 
latest: Pulling from docker.io/sonatype/nexus3
26f1167feaf7: Pull complete 
adffa6963146: Pull complete 
e88dfbe0ef6a: Pull complete 
0d43c5e95446: Pull complete 
8ff7b45a7e29: Pull complete 
Digest: sha256:eff4fb12346ceb5cd424732ee9f2765c0db0f8d5032cdb2f7f7e17acc349f651
Status: Downloaded newer image for docker.io/sonatype/nexus3:latest
[root@VM-16-15-centos ~]#         

2.启动容器

# 25000端口是用于镜像仓库的服务端口映射, 28081 端口是nexus的服务端口映射
docker run -it -d --name=nexus --restart=always -p 25000:5000  -p 28081:8081 sonatype/nexus3
​
firewall-cmd --zone=public --add-port=25000/tcp --permanent
firewall-cmd --zone=public --add-port=28081/tcp --permanent
firewall-cmd --reload
# 进入容器查看密码
docker exec -it nexus bash
​
cat /opt/sonatype/sonatype-work/nexus3/admin.password
​
# 遗传uuid复制出来即可登录 ip:28081
admin/b0caddba-1d3e-4255-8a3f-7c14736f8785
​
登录成功后会有个提示修改密码的操作,修改密码就可以了。
修改密码后一定要记住,在修改密码完成之后 admin.password ⽂件会⾃动删除。
​
Nexus启动容器稍微比较慢,等待一会即可。
ip:28081
ip:25000

3.登录管理平台创建Docker总库

ip:28081

点击齿轮按钮,进入仓库配置界面,选择Blob Stores开始创建存储空间

 

4.创建Docker存储库

点击设置界面,选择Repositories,点击Create repository,如图所示

Docker镜像仓库类型含义解释如下:   

hosted : 本地存储,即同docker官方仓库一样提供本地私服功能   

proxy : 提供代理其他仓库的类型,如docker中央仓库   

group : 组类型,实质作用是组合多个仓库为一个地址

选择hosted ,填写下图内容保存即可

 

 

5.配置仓库Realms

不配置此项无法进行login、pull、push

双击左边两项点击save保存即可

6.Docker输入地址进行登录操作

# 本机不需要输入密码,其他机器需要密码;上传拉取镜像也是需要配置{"insecure-registries":["ip:25000"]} 
-bash-4.2# docker login ip:25000/repository/docker-tencent
Username: admin
Password: 
Login Succeeded
​
# 为镜像打标签(这里使用镜像名REPOSITORY+TAG打标签,也可以用镜像id打标签)
docker tag mysql:5.7.41 ip:25000/mysql:5.7.41
# 查看 镜像列表
-bash-4.2# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
ip:25000/mysql   5.7.41              0018a8d83892        13 days ago         455 MB
docker.io/mysql               5.7.41              0018a8d83892        13 days ago         455 MB
# 上传镜像
docker push ip:25000/mysql:5.7.41
# 删除本地镜像 
 docker rmi ip:25000/mysql:5.7.41
# 拉取镜像
docker pull ip:25000/mysql:5.7.41
# 退出登录
docker logout ip:25000


http://www.kler.cn/a/5085.html

相关文章:

  • C++例程:使用I/O模拟IIC接口(6)
  • 开源 vGPU 方案 HAMi 解析
  • python学习笔记—14—函数
  • Jenkins内修改allure报告名称
  • BeanFactory与factoryBean 区别,请用源码分析,及spring中涉及的点,及应用场景
  • Pytorch初学
  • 程序监控报警失败自动重启脚本
  • 【不同入参ajax请求】ajax请求接口入参form形式和body形式如何写前端代码(附源码详解)
  • Appium 自动化测试从入门到精通,零基础也能听懂
  • 掌握C语言的这3个函数,你就学会随机读写文件了
  • 二战华为成功上岸,准备了小半年,要个27k应该也算不上很高吧~
  • redis 三. hash应用场景及底层分析
  • PCIe基础
  • 第15章_存储过程与函数
  • Python图片相册批处理器的设计与实现批量添加图片水印、批量命名等功能
  • order by是怎么工作的?
  • Java数据结构之基于ArrayList编写大众麻将和扑克牌洗牌小练习
  • RXSwift在项目中实战总结: Subject, Driver, 高阶函数
  • MySQL面试记录
  • JUnit5用户手册~参数化测试
  • 入门力扣自学笔记252 C++ (题目编号:1638)
  • PyTorch 之 简介、相关软件框架、基本使用方法、tensor 的几种形状和 autograd 机制
  • 基于token的身份认证及自动续期的解决方案
  • MySQL OCP888题解072-显示表的存储引擎的方法
  • 计算机网络第五章(运输层)【湖科大教书匠】
  • Python 彩蛋 —— 开发人员留下的惊喜