Docker專欄-第2篇 無外網基於Centos7.9離線安裝Docker
虛擬機系統:centos 7.9 2009(準備兩個iso,一個minimal用於快速安裝系統,一個DVD或Everything用於掛載成本地源)
虛擬平台:Vmware 17.5.2
主機系統:windows 11 24h2
關鍵詞: Docker,centos,離線環境,無網環境
1.下載centos 7.9
進入https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
下載minimal iso安裝
下載everything iso做後續本地的源
2.安裝centos7
2.1 新建虛擬機
在vmware中文件菜單點新建
定位到我們下載的minimal光盤
根據自己電腦的實際情況放到對應的位置,並取好名稱。
下一步,設置磁盤大小為60GB (如資源少,就給20GB或30GB,自己根據情況確定)
進入硬件配置,默認的配置較少
點自定義硬件,主力機器,給4GB內容,4個CPU (如資源少,就給2GB,2個CPU)
確定結束,虛擬機創建完畢。
2.2 啓動虛擬機,安裝系統
啓動界面選擇Install CentOS 7
進入安裝語言選擇界面
下滑選擇中文,結果如下
點擊繼續,進入安裝配置界面
將有!號的選項設置一下(安裝位置點開後,左上角點完成自動分區即可)
點擊網絡與主機名
補充信息:vmware中編輯菜單-》虛擬網絡編輯器打開,可以看到vmware虛擬機默認的網關和可用網段
右上角打開網絡,並根據vmware的網關信息,設置信息IP
點配置
切換至ipv4設置
將自動(dhcp)改為手動,再填入上面獲取的信息即可。後續我們也可以直接在主機中更改網絡信息.網絡配置文件一般存於/etc/sysconfig/network-scripts/目錄,文件名格式為ifcfg-<接口名>。比如,若要修改eth0的 IP 地址,就要編輯ifcfg-eth0文件。
點保存,在網絡和主機名設置主頁面設置主機名,我這裏設置為”dockeroncentos“,點擊應用,使其生效。
點擊左上角完成,返回如下頁面
點開始安裝
點擊root密碼,設置為root(本機),因為密碼太短,所以需要連續點擊2次完成,生效。
返回安裝界面,等待完裝完成。
3.配置Yum本地源
3.1 使用vmware掛載centos dvd 或everything的iso光盤文件
一、選定主機,確保虛擬機處於關機狀態
二、點擊編輯虛擬機配置,打開cd/dvd設置,定位好iso
光驅掛載頁面定位到我們需要的dvd或everything的iso光盤文件,設備狀態中要選擇“啓動時連接”
3.2 確保iso掛載正常
使用lsblk查看
lsblk
輸出結果,中間有sr0,則代表已正常掛載。
也可以使用blkid查看
blkid
輸出結果,中間有sr0,則代表已正常掛載
3.3 將iso的內容裝載進/mnt
使用mount掛載光盤(特別注意:虛擬機重啓後會失效,需要重新執行一次)
mount /dev/sr0 /mnt #當次有效,如果需要開啓有效,需要在fstab中增加一條記錄
vim /etc/fstab
添加下面的內容並保存,即可實現開機自動mount
/dev/sr0 /mnt iso9660 defaults 0 0
查看,是否裝載成功
ls /mnt
3.4 將裝載好數據配置成本地yum的源
備份並清空原有的yum配置文件目錄,使用命令mv /etc/yum.repos.d /etc/yum.repos.d.backup將原目錄備份,並創建一個新的yum源配置文件目錄,使用命令mkdir -p /etc/yum.repos.d,截屏保存命令執行結果(圖片標題為"備份並創建yum源目錄")
備份並清空原有的yum配置
mv /etc/yum.repos.d /etc/yum.repos.d.backup
創建標準的目錄
mkdir -p /etc/yum.repos.d #-p 代表如果父目錄不存在會自動創建父目錄
此時可以全手打,也可以複製一個原有的配置,再在裏面改基本的配置
如
cp /etc/yum.repos.d.backup/CentOS-Base.repo /etc/yum.repos.d/local.repo
然後將配置改為如下配置
[local]
name=Local Yum Repo
baseurl=file:///mnt
enabled=1
gpgcheck=0
3.5 重建yum數據庫
清除yum緩存並重新生成元數據緩存
yum clean all
yum makecache
此時,yum本地倉庫已完全建立
4.使用yum
4.1列出倉庫中的軟件包
執行命令
yum repolist
4.2安裝vim
執行命令
yum install vim -y
4.3查看vim版本
vim --version
4.4打開vim
vim
4.安裝Docker
3.1 內核版本檢查
確保內核版本大於3.10及以上
uname -a
3.2 安裝依賴
安裝依賴(必須)
yum install -y yum-utils device-mapper-persistent-data lvm2
3.3 將Docker的二進制上傳至虛擬機
進入https://download.docker.com/linux/static/stable/x86_64/
下載對應的文件(可以使用最新版本),也可以用本文的版本。
使用ls確認
3.4 解壓Docker離線安裝包並將文件複製到/usr/bin目錄
使用tar解壓
tar xvf docker-26.1.4.tgz
查看解壓後的效果
ls
將離線安裝包複製到/usr/bin
cp -R docker/* /usr/bin #-R代表支持遞歸,即裏面有目錄也是可以的。
3.5 將docker-compose放入/usr/bin
一、改名為docker-compose
mv docker-compose-linux-x86_64 docker-compose
二、增加可執行權限
chmod +x docker-compose
三、複製進/usr/bin
cp docker-compose /usr/bin/
3.6驗證docker與docker-compose
驗證docker
docker --version
驗證docker-compose
docker-compose --version
3.7 創建Docker服務
創建Docker服務配置文件/etc/systemd/system/docker.service
vim /etc/systemd/system/docker.service
編輯輸入下面的內容後,執行:wq保存並退出vim
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
確認是否保存成功
cat /etc/systemd/system/docker.service
設置服務並開機啓動
chmod +x /etc/systemd/system/docker.service #添加執行權限
systemctl daemon-reload #重新加載系統服務
systemctl start docker #啓動docker引擎
systemctl enable docker #開機啓動
3.8 查看Docker詳細信息
docker info
#docker inspect 鏡像id 用於查看鏡像信息
#docker stats 實時查看正在運行的容器的資源使用情況
3.9 配置Docker加速器
編輯/etc/docker/daemon.json
mkdir /etc/docker #確保docker目錄存在
vim /etc/docker/daemon.json
配置內容如下
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://docker.1ms.run",
"https://mirrors.tencent.com",
"https://docker.mirrors.ustc.edu.cn"
],
"dns" : [
"114.114.114.114",
"8.8.8.8"
]
}
保存並按下面的操作使鏡像配置生效
# 這裏有個坑,需要先分別停掉 docker.service 和 docker.socket,然後再重啓,否則可能配置不會生效(還是從官方鏡像源拉取)
sudo systemctl stop docker.service
sudo systemctl stop docker.socket
sudo systemctl start docker.service
sudo systemctl start docker.socket
sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl enable docker #使docker後台開機啓動
也可以直接通過指定鏡像源拉取:
docker pull m.daocloud.io/docker.io/library/ubuntu:latest
注:這種配置僅允許 Docker 信任該私庫(不使用 HTTPS 校驗證書),不會改變鏡像拉取邏輯。
碼上世界 1179611323@qq.com
發行日志
20250518 初版