Docker搭建私有仓库并迁移

目录

方案

  A、B机器安装docker

设置阿里云镜像源

安装 Docker-CE并设置为开机自动启动

   A机器准备数据

 拷贝数据

B机器运行redis、mysql镜像

  重启docker服务


方案


准备两台机器:A机器(可以连接外网),B机器(内网机器、不可联网)

步骤一:A机器安装docker、这里采用离线或在线安装都可以

步骤二:A机器使用docker搭建私有仓库registry

步骤三:A机器使用docker在线pull需要安装的镜像(redis、mysql等)

步骤四:A机器使用docker提交镜像到私有仓库registry

步骤五:等A机器镜像提交完毕,使用docker将私有仓库registry打包成tar包

步骤六:拷贝仓库tar包到B机器,在B机器离线安装docker

步骤七:B机器使用docker离线pull私有仓库中的镜像,完成需求

  A、B机器安装docker

##关闭防火墙
systemctl stop firewalld.service
setenforce 0

 

[root@centos3 ~]# cd /etc/yum.repos.d/
[root@centos3 yum.repos.d]# ls
11  local.repo[root@centos3 yum.repos.d]# mv local.repo 11
[root@centos3 yum.repos.d]# ls
11[root@centos3 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

##这不边 yum源用不起来 我用的是阿里的在线源下载
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo##安装依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2 

  yum-utils:提供了 yum-config-manager 工具。
device mapper: 是Linux内核中支持逻辑卷管理的通用设备映射机制,它为实现用于存储资源管理的块设备驱动提供了一个高度模块化的内核架构。
device mapper存储驱动程序需要 device-mapper-persistent-data 和 lvm2。


设置阿里云镜像源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

安装 Docker-CE并设置为开机自动启动

yum install -y docker-ce docker-ce-cli containerd.io
docker-ce-20.10.18systemctl start docker.service
systemctl enable docker.service docker info #查看docker版本

 

 

  新建服务配置文件

vim /etc/systemd/system/docker.service

 将如下内容粘贴进去(不需要改动)

[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notify# the default is not to use systemd for cgroups because the delegate issues still# exists and systemd currently does not support the cgroup feature set required# for containers run by dockerExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPID# Having non-zero Limit*s causes performance problems due to accounting overhead# in the kernel. We recommend using cgroups to do container-local accounting.LimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinity# Uncomment TasksMax if your systemd version supports it.# Only systemd 226 and above support this version.#TasksMax=infinityTimeoutStartSec=0# set delegate yes so that systemd does not reset the cgroups of docker containersDelegate=yes# kill only the docker process, not all processes in the cgroupKillMode=process# restart the docker process if it exits prematurelyRestart=on-failureStartLimitBurst=3StartLimitInterval=60s[Install]WantedBy=multi-user.target

         添加文件权限

chmod +x /etc/systemd/system/docker.service

 加载、启动、设置开机启动

systemctl daemon-reload  # 重新加载单元systemctl start docker   # 启动dockersystemctl enable docker.service   # 设置开机启动

   A机器准备数据

   下载docker registry仓库镜像

docker pull docker.io/registry

    创建仓库目录

修改 /etc/docker/daemon.json文件、添加如下内容

    重启docker服务

systemctl restart docker

  运行registry镜像,并将/mnt/registry-data目录挂载到容器内的/var/lib/registry目录

docker run -d --name=registry -v /mnt/registry-data:/var/lib/registry -p 5000:5000 docker.io/registry

  下载redis镜像

docker pull redis

    修改redis镜像tag

docker tag redis  127.0.0.1:5000/redis

  将redis上传到仓库

 cd目录,查看redis是否被成功上传(mysql上传同上)

cd/mnt/registry-data/docker/registry/v2/repositories

 使用docker将registry镜像打包成registry.tar,放到/mnt目录下

docker save -o /mnt/registry.tar docker.io/registry

  将registry-data仓库目录打包成registry-data.tar.gz,放到/mnt目录下

cd /mnt
tar czvf registry-data.tar.gz registry-data  # 打包

 

 拷贝数据

将A机器上的/mnt目录下面的registry.tar和registry-data.tar.gz拷贝到B机器的/mnt目录下、

B机器运行redis、mysql镜像

  修改 /etc/docker/daemon.json文件、添加如下内容

{"insecure-registries":["127.0.0.1:5000"]
}

  重启docker服务

systemctl restart docker

   导入registry镜像

docker load -i /mnt/registry.tar

 解压registry-data仓库目录

tar xf /mnt/registry-data.tar.gz -C /mnt

运行registry镜像,并将/mnt/registry-data目录挂载到容器内的/var/lib/registry目录

docker run -d --name=registry -v /mnt/registry-data:/var/lib/registry -p 5000:5000 docker.io/registry

      从本地仓库下载下载redis镜像

docker pull 127.0.0.1:5000/redis

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/107180.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机学习-蜂鸣器电子元件

蜂鸣器是有什么作用的? 蜂鸣器 是 一种 一体化结构 的电子训响器,可以发出声音的电子元器件 蜂鸣器分类? ①压电式蜂鸣器(图左) 称: 无源蜂鸣器 ②电磁式蜂鸣器(图右) 称&#xf…

电商PC端设计之店招

设计总资料: 1、裂帛 2、小狗电器 3、店招120PX,导航栏30px 4、毕业那些年的店招 5、操作实例,建立120PX的画布 6、产品多的时候要加搜索框 7、产品店招在左边,主推产品在右边 8、贝蒂佩琪 实战案例 1、利用画布调整图像大小 2、…

前端需要理解的Vue知识

1 模板语法 Vue使用基于 HTML 的模板语法,能声明式地将其组件实例的数据绑定到DOM。所有Vue 模板可以被符合规范的浏览器和 HTML 解析器解析。Vue 会将模板编译成高度优化的 JavaScript 代码。结合响应式系统,当应用状态变更时,Vue 能够智能…

AUTOSAR规范与ECU软件开发(实践篇)6.6 BSW模块代码生成

在BCT界面中配置完所需要的BSW模块后, 可以进行BSW模块相关代码与描述文件的生成, 点击ISOLAR-A主菜单中“ ”右边箭头, 选择Run Configuraions, 如图6.57所示。 将弹出如图6.58所示的界面。 图6.57 Run Configuraions配置&#x…

Cpp学习——编译链接

目录 ​编辑 一,两种环境 二,编译环境下四个部分的 1.预处理 2.编译 3.汇编 4.链接 三,执行环境 一,两种环境 在程序运行时会有两种环境。第一种便是编译环境,第二种则是执行环境。如下图: 在程序运…

UI位置与布局

UI位置与布局 引言 发现UGUI的RectTransform定位还是很复杂的,感觉有必要详细了解一下 RectTransform 继承自Transform。他的local position由其他几个变量控制。建议不要直接设置position 目的是为了实现UI自动布局。这套方法将绝对定位,相对定位&a…

mysql sql 执行流程

监控查询缓存的命中率 show status like ‘%qcache%’; mysql 缓存机制,以及 8.0 为啥取消 select sql_NO_Cache * from 表 where xxx; # 不使用缓存

K8s学习笔记3

Kubernetes功能: Kubernetes是一个轻便的可扩展的开源平台,用于管理容器化应用和服务。通过Kubernetes能够进行应用的自动化部署和扩缩容。在Kubernetes中,会将组成应用的容器组合成一个逻辑单元以更易管理和发现。Kubernetes积累了作为Goog…

origin导出pdf曲线超出边框

软件版本 软件版本Word2021Origin2021Adobe Acrobat Pro2023 问题描述 Origin导出的emf格式矢量图片,插入到Word中,显示正常,但是在使用Word导出→创建Adobe PDF→创建Adobe PDF导出PDF文件后,图片曲线就会超出边框&#xff0c…

cuda编程day001

一、环境: ①、linux cuda-11.3 opecv4.8.0 不知道头文件和库文件路径,用命令查找: # find /usr/local -name cuda.h 2>/dev/null # 查询cuda头文件路径 /usr/local/cuda-11.3/targets/x86_64-linux/include/cuda.h # find /usr/…

文旅景区vr体验馆游乐场vr项目是什么

我们知道现在很多的景区或者游玩的地方,以及学校、科技馆、科普馆、商场或公园或街镇,都会建一些关于游玩以及科普学习的项目。从而增加学习氛围或者带动人流量等等。这样的形式,还是有很好的效果呈现。 普乐蛙VR体验馆案例 下面是普乐蛙做的…

【MySQL系列】表的内连接和外连接学习

「前言」文章内容大致是对MySQL表的内连接和外连接。 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、内连接二、外连接2.1 左外连接2.2 右外连接 一、内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,前面篇章学习的…

bug复刻,解决方案---在改变div层级关系时,导致传参失败

问题描述: 在优化页面时,为了实现网页顶部遮挡效果(内容滚动,顶部导航栏不随着一起滚动,并且覆盖),做法是将内容都放在一个div里面,为这个新的div设置样式,margin-top w…

word 调整列表缩进

word 调整列表缩进的一种方法,在试了其他方法无效后,按下图所示顺序处理,编号和文字之间的空白就没那么大了。 即右键word上方样式->点击修改格式->定义新编号格式->字体->取消勾选 “……对齐到网格”->确定

枚举的使用优化if-else

文章目录 目录 文章目录 前言 一、用来替代大量请求路径的判断 二、使用枚举来优化if-else结构 总结 前言 枚举是一种常用于替代复杂的if-else结构的优化工具。通过使用枚举,可以将多个条件判断语句转化为简单的case语句,提高代码的可读性和可维护性 一…

使用Python写入数据到Excel:实战指南

在数据科学领域,Excel是一种广泛使用的电子表格工具,可以方便地进行数据管理和分析。然而,当数据规模较大或需要自动化处理时,手动操作Excel可能会变得繁琐。此时,使用Python编写程序将数据写入Excel文件是一个高效且便…

Gateway简述

前言 ​ 在微服务架构中,一个系统会被拆分为很多个微服务。那么作为客户端调用多个微服务接口的地址。另外微服务架构的请求中,90%的都携带认证信息/用户登录信息,都需要做相关的限制管理,API网关由此应允而生。 这样的架构会存…

如何通过人工智能和自动化提高供应链弹性?

全球供应链中的数字化转型已经引起了广泛关注,尽管在过去的十年中,这一话题被广泛讨论,但许多公司仍然对如何实现这一不明确的目标感到困惑。人们普遍认识到这种转变的重要性,而新冠疫情及其带来的巨大影响也为行业向数字化转型方…

nginx生成自定义证书

1、创建key文件夹 [rootlocalhost centos]# mkdir key 进入key文件夹 [rootlocalhost centos]# cd key/ 2、生成私钥文件 [rootlocalhost key]# openssl genrsa -des3 -out ssl.key 4096 输入这个key文件的密码。不推荐输入,因为以后要给nginx使用。每次reload ngin…

磁盘阵列/视频集中存储/安防监控视频智能分析平台新功能:人员聚集

人工智能技术已经越来越多地融入到视频监控领域中,近期我们也发布了基于AI智能视频云存储/安防监控视频AI智能分析平台的众多新功能,该平台内置多种AI算法,可对实时视频中的人脸、人体、车辆、物体等进行检测、跟踪与抓拍,支持口罩…