一.起因
有个朋友非要拿Redhat的核心启动程序来装系统,这样就必须使用在线的repo才行了,但是,众所周知的是Redhat作为一款付费订阅的系统,它的repo是只能通过订阅访问的,不像CentOS一样有一堆在线的Mirror可以直接用。
二.分析
那么怎么办呢,想办法拖个Repo出来呗,因为赶时间,所以肯定不能去装一台RedHat的机器,这样的话当然是选择Docker了,找了一圈发现Redhat有自己的Docker Registry,这就好办多了,利用Docker来快速获得一个RedHat的系统环境,从而接触到Repo。
三.解决
关于创建使用RedHat系统的Docker这部分可以参考这儿 ——>传送门
当然你也可以不用看,直接运行如下命令
docker run -it registry.access.redhat.com/rhel7/rhel
然后你就进入了RedHat 7的Docker中了,接下来,我们首先需要注册订阅
#username是RedHat账户的用户名,password是密码 subscription-manager register --username=xxx --password=xxxx --auto-attach subscription-manager list
然后我们就能看到订阅成功了,接下来参考这篇文章 https://access.redhat.com/solutions/23016
这是RedHat自己提供的创建离线仓库的教程,没有账号的话可能看不了,我这边说一下
#一些用到的工具 yum install yum-utils createrepo -y #下载repo reposync --gpgcheck -l --repoid=rhel-7-server-rpms --download_path=/root/rhel7-repo/ --downloadcomps --download-metadata #生成一下repo数据 cd /root/rhel7-repo/rhel-7-server-rpms createrepo -v /root/rhel7-repo/rhel-7-server-rpms -g comps.xml #启用repo的安全功能(可选) gunzip *updateinfo.xml.gz mv *updateinfo.xml ./repodata/updateinfo.xml modifyrepo /var/www/html/<channel-id>/repodata/updateinfo.xml /var/www/html/<channel-id>/repodata
离线过程的图如下,挺大的,有二十多个G,所以请留好空间,同时尽量选择G口的机器,离线完之后你只要找个能被访问到的Web服务器目录放着就行
文章评论
Unable to find image 'registry.access.redhat.com/rhel7/rhel:latest' locally
docker: Error response from daemon: Get https://registry.access.redhat.com/v2/: dial tcp: lookup registry.access.redhat.com on [::1]:53: read udp [::1]:24703->[::1]:53: read: connection refused.
See 'docker run --help'.
这个怎么解决啊 ,注册时候也是网络错误