Rocky9.4做Ubuntu22.04仓库(学习笔记)

简介:由于Rocky和Ubuntu底层不同无法使用,所以考虑解决方法使用docker同步Ubuntu仓库(可以用此方式解决其他类型操作系统)

一、安装Docker

1、环境准备

#更新仓库
dnf -y install epel-release

#填下docker仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、安装docker

#查看docker版本
yum list docker-ce.x86_64 --showduplicates
#内容
Last metadata expiration check: 0:47:23 ago on Tue 22 Apr 2025 09:55:26 PM EDT.
Installed Packages
docker-ce.x86_64                              3:28.1.0-1.el9                                @docker-ce-stable
Available Packages
docker-ce.x86_64                              3:20.10.15-3.el9                              docker-ce-stable 
docker-ce.x86_64                              3:20.10.16-3.el9                              docker-ce-stable 
........
docker-ce.x86_64                              3:28.0.0-1.el9                                docker-ce-stable 
docker-ce.x86_64                              3:28.0.1-1.el9                                docker-ce-stable 
docker-ce.x86_64                              3:28.0.2-1.el9                                docker-ce-stable 
docker-ce.x86_64                              3:28.0.3-1.el9                                docker-ce-stable 
docker-ce.x86_64                              3:28.0.4-1.el9                                docker-ce-stable 
docker-ce.x86_64                              3:28.1.0-1.el9                                docker-ce-stable 
docker-ce.x86_64                              3:28.1.1-1.el9                                docker-ce-stable


#安装docker(我这选择得是28.1.0-1.el9)
dnf -y install docker-ce-28.1.0-1.el9

3、修改docker数据目录

#创建数据目录
mkdir -p /data/docker/data

#更改数据目录
vim /etc/docker/daemon.json
#内容
{
  "data-root": "/data/docker/data"
}

4、启动docker

#修改Selinux安全上下文(或者关闭)
chcon -R system_u:object_r:container_var_lib_t:s0 /data/docker/data

#启动docker
systemctl daemon-reload
systemctl start docker
systemctl enable docker

#查看数据目录是否更换
docker info | grep "Docker Root Dir"
#内容(确认已更改)
 Docker Root Dir: /data/docker/data

二、拉去Ubuntu容器并安装相关软件

1、拉去镜像

#拉去ubuntu22.04镜像
docker pull uhub.service.ucloud.cn/ubuntu20/ubuntu:22.04

#修改镜像名(选作)
docker tag uhub.service.ucloud.cn/ubuntu20/ubuntu:22.04 ubuntu:22.04

#查看是否更改成功
docker images
#内容
REPOSITORY                               TAG       IMAGE ID       CREATED         SIZE
ubuntu                                   22.04     67c845845b7d   10 months ago   77.9MB
uhub.service.ucloud.cn/ubuntu20/ubuntu   22.04     67c845845b7d   10 months ago   77.9MB

2、修改镜像

#创建ubuntu镜像存放目录
mkdir -p /data/repos/ubuntu

#启动容器并将/data/repos/ubuntu挂至容器/var/mirror
docker run -itd --name ubuntu-mirror -v /data/repos/ubuntu:/var/mirror ubuntu:22.04

#进入容器
docker exec -it ubuntu-mirror bash

#安装软件(容器很多软件都没安装这里安装下)
#更新镜像库
apt update

#安装vim
apt -y install vim

#安装apt-mirror(同步软件包工具)
apt -y install apt-mirror

#修改国内镜像源(阿里云)
vim /etc/apt/mirror.list
#内容
############# config ##################
#
set base_path    /var/mirror
#
# set mirror_path  $base_path/mirror
# set skel_path    $base_path/skel
# set var_path     $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch  <running host architecture>
# set postmirror_script $var_path/postmirror.sh
# set run_postmirror 0
set nthreads     20
set _tilde 0
#
############# end config ##############

deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse

# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse

deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse

clean http://mirrors.aliyun.com/ubuntu

3、测试同步数据ubuntu仓库

#容器中执行命令
apt-mirror

#容器外执行watch命令查看是否在同步(30s刷新统计一次空间大小)
watch -n 30 -d du -sh /data/repos/ubuntu

容器内拉去包 

容器外统计大小(大小变化中耐性等待,大小约700G)

 三、验证仓库及部署定时任务

1、验证仓库

注:如何部署仓库得web服务可参考Rocky 9.4安装私有Yum仓库及同步仓库数据(学习笔记)-CSDN博客

#在Ubuntu系统上配置源
vim /etc/apt/sources.list
#内容(根据实际路径进行修改)
deb http://10.100.4.47/yum-repo/ubuntu/mirror/mirrors.aliyun.com/ubuntu jammy main restricted universe multiverse
deb http://10.100.4.47/yum-repo/ubuntu/mirror/mirrors.aliyun.com/ubuntu jammy-updates main restricted universe multiverse
deb http://10.100.4.47/yum-repo/ubuntu/mirror/mirrors.aliyun.com/ubuntu jammy-security main restricted universe multiverse

#更新仓库
apt update

#检测是否安装vsftpd(无返回表示未安装)
dpkg -l | grep vsftpd

#安装vsftpd
apt -y install vsftpd

确认源为本地源

2、容器中定时同步任务

#容器中安装cron服务
apt -y install cron

#编写定时任务(每天三点进行同步)
0 3 * * * /usr/bin/apt-mirror > /var/log/apt-mirror.log

四、将此容器变更为开机自启 

1、保存已经修改好得容器镜像

#查看运行中得容器(容器外执行
docker ps
#内容
CONTAINER ID   IMAGE                        COMMAND                  CREATED        STATUS                PORTS                       NAMES
959b4eafdcce   ubuntu:22.04                 "/bin/bash"              14 hours ago   Up 14 hours                                       ubuntu-mirror

#提交容器(提交容器格式:docker commit <CONTAINER_ID> <新镜像名>:<标签>)(需要等待一会)
docker commit ubuntu-mirror ubuntu-repos:v1

#查看镜像
docker images
#结果
REPOSITORY                             TAG       IMAGE ID       CREATED          SIZE
ubuntu-repos                           v1        e900aae47071   41 seconds ago   257MB

2、关闭容器及删除原有容器

#关闭现有容器(容器名用 docker ps查询)
docker stop ubuntu-mirror

#删除容器
docker rm ubuntu-mirror

#查看之前同步得仓库是否存在
du -sh /data/repos/ubuntu
#结果(确认数据持久化)
687G	/data/repos/ubuntu

3、设置容器开机自启及验证

#启动新容器(开启自启参数--restart=always)
docker run -itd --name  ubuntu-repos --restart=always -v /data/repos/ubuntu:/var/mirror ubuntu-repos:v1

#重启服务器测试
reboot

确认开机容器会自启

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值