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 (如509资源少,就给20GB或30GB,自己根据情况确定)
进入硬件配置,默认的配置较少
点自定义硬件,主力机器,给4GB内容,4个CPU (如509资源少,就给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 初版
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。