上次轉載領導的Docker文章,有朋友問有沒有離線安裝的方法,我開始想的是用系統的安裝鏡像ISO來做yum源,進行本地安裝。有時候在沒有公網訪問權限的場景下無法訪問公共yum源來安裝軟件,這時通過創建本地的yum源可以解決一部分問題。方法就是通過挂載完整的系統安裝ISO鏡像文件,來作為本地yum源。今天簡單分享一下操作方法。
首先創建存放系統鏡像的目錄和挂載鏡像的目錄。
mkdir –p /yum/iso
mkdir –p /yum/local
上傳安裝系統的ISO鏡像文件到/yum/iso目錄下。
通過以下命令将ISO鏡像挂載到本地yum目錄/yum/local下。
mount -o loop /yum/iso/CentOS-7-x86_64-DVD-1804.iso /yum/local/
可以使用命令檢查是否挂載成功。
df –h
在/etc/yum.repos.d/目錄下新建一個調用本地yum源的repo文件。
vi /etc/yum.repos.d/local.repo
repo文件内容如下:
[local]
name=local
# baseurl就是挂載路徑,我定義的路徑是/yum/local
baseurl=file:///yum/local
# enabled的值為1表示啟用該yum源
enabled=1
#本地挂載不涉及數字簽名問題,将gpgcheck值設置為0,表示不檢查數字簽名
gpgcheck=0
# gpgkey的值可以進到挂載路徑下進行查看,形如RPM-GPG-KEY-XXXX,我這裡看到的是RPM-GPG-KEY-CentOS-7。
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7
這個地方還出現一個小意外,重啟之後會看不到路徑下的文件信息,原因是重啟後挂載點丢失了,需要重新挂載。可以通過解壓鏡像文件或者是寫一個啟動運行的腳本來解決。
先模拟一個沒有公網的環境,避免幹擾。本來是想用360路由器的上網黑名單功能來限制網絡訪問,結果發現不管用,IP加了黑名單照常能上網。好在我是學過網絡的,想到綁定一個錯誤的ARP表項;就先把ARP信息綁定,然後改了一個錯誤的MAC地址,這樣這台服務器就沒法上網了,也就成了本地環境。
然後将系統自帶的yum源配置文件移動至其它地方,不建議删除,萬一後面用到再創建會麻煩很多。我在同路徑下新建了一個history目錄,用于存放這些repo文件。(注意:網上有案例是移動到了/tmp目錄下,因為/tmp目錄過一段時間後會自動删除早期的文件,如果是實驗操作,請在操作完成後需要立即恢複或移動到其他位置)
mkdir /etc/yum.repos.d/history
mv CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo –t history
清除服務器的yum緩存,再緩存新的yum源。
yum clean all
yum makecache
再安裝一下ntp服務。
yum install –y ntp
安裝成功。言歸正傳,那docker能不能安裝成功呢?
可以看到,本地yum源中沒有這個安裝包,那就隻能上網去搜了。
我搜了一下,因為依賴包比較多,我就沒有測試了,大概是需要11個安裝包。
而在線安裝顯示需要的依賴包更多。
如果你确實有這種需求,祝你好運吧!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!