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.hqwc.cn/news/84413.html

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

相关文章

Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分离)【三】

😀前言 本篇博文是关于Spring Boot(Vue3ElementPlusAxiosMyBatisPlusSpring Boot 前后端分离)【三】的分享,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我…

MacOS goland go1.21 debug问题

安装dlv brew install dlv 安装之后在终端会显示所在目录 类似/usr/local/Cellar/delve/1.21.0/bin 配置goland 在文件系统中找到goland 右击选择show package contents -> Contents -> plugins -> go 尝试替换 其中对应系统 的 dlv 结果还是不行 然后打开应用gol…

Python|爬虫和测试|selenium框架模拟登录示例(一)

前言: 上一篇文章Python|爬虫和测试|selenium框架的安装和初步使用(一)_晚风_END的博客-CSDN博客 大概介绍了一下selenium的安装和初步使用,主要是打开某个网站的主页,基本是最基础的东西,那么,…

【NLP的python库(01/4) 】: NLTK

一、说明 NLTK是一个复杂的库。自 2009 年以来不断发展,它支持所有经典的 NLP 任务,从标记化、词干提取、词性标记,包括语义索引和依赖关系解析。它还具有一组丰富的附加功能,例如内置语料库,NLP任务的不同模型以及与S…

桃子叶片病害识别(Python代码,pyTorch框架,深度卷积网络模型,很容易替换为其它模型,带有GUI识别界面)

1.分为三类 健康的桃子叶片 ,251张 桃疮痂病一般,857张 桃疮痂病严重,770 张 2. GUI界面识别效果和predict.py识别效果如视频所示桃子叶片病害识别(Python代码,pyTorch框架,深度卷积网络模型&#xff0…

squid服务器

目录 squid初识 安装squid代理 常用命令 主要配置文件 正向代理 环境配置 linux服务器设置 windows客户端设置 反向代理 环境配置 在web服务器配置服务 linux服务器配置 squid初识 含义:squid cache是一个流行的自由软件(GNU通用公共许可证…

[C++ 网络协议] 套接字的多种可选项

目录 1. 套接字的可选项 2. 获取/设置套接字可选项 2.1 getsockopt函数(获取套接字可选项) 2.2 setsockopt函数(设置套接字可选项) 3. 常用套接字可选项 3.1 SOL_SOCKET协议层的SO_TYPE可选项 3.2 SOL_SOCKET协议层的SO_SN…

国产化-银河麒麟V10系统及docker的安装

一、最近在研究国产化操作系统,“银河麒麟V10”, 在我电脑本机vmware 15的虚拟机中进行安装测试; 1.点击这里提交产品试用申请,不过只需要随便输入,手机号验证码验证后方可跳转至下载地址产品试用申请国产操作系统、银…

【SpringBoot】第一篇:redis使用

背景&#xff1a; 本文是教初学者如何正确使用和接入redis。 一、引入依赖 <!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><depen…

JVM工具-1. jps:虚拟机进程状态工具

文章目录 1. jps介绍2. jps命令格式3. jps工具主要选项4. jps -q5. jps -m6. jps -l7. jps -v 1. jps介绍 jps(JVM Process Status Tool)&#xff1a;虚拟机进程状态工具&#xff0c;可以列出正在运行的虚拟机进程&#xff0c;并显示虚拟机执行主类&#xff08;Main Class&…

章节 3:React.js基础 -《React.js手把手教程:从初学者到实战高手》- 第一部分:React.js基础

《React.js手把手教程&#xff1a;从初学者到实战高手》 第一部分&#xff1a;React.js基础 章节 3&#xff1a;React.js基础 在这一章中&#xff0c;我们将进一步了解 React.js 的基础知识。我们会从最基本的 React 组件开始&#xff0c;逐步引导你进入 React.js 的世界。 …

word 调整列表缩进

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