一、前置准备:创建虚拟机(VMware/VirtualBox)
这一步是硬件基础,以常用的 VMware Workstation 为例:
-
打开VMware → 新建虚拟机 → 选择「典型」→ 下一步
-
选择 CentOS 7/8 镜像文件(推荐CentOS 7,稳定兼容)
-
设置虚拟机名称、存储位置 → 分配CPU(2核)、内存(2G及以上)、硬盘(20G+)
-
完成创建,启动虚拟机开始安装系统
二、在虚拟机中安装CentOS操作系统
-
启动虚拟机后,选择
Install CentOS 7 -
语言选择中文 → 继续
-
关键配置:
-
安装位置:自动分区即可
-
网络和主机名:打开以太网(确保能联网)
-
-
设置root密码 → 等待安装完成 → 重启虚拟机
三、修改网络配置名(固定网卡名,避免混乱)
CentOS默认网卡名可能是 ens33 等,我们统一修改为标准格式:
- 编辑网卡配置文件(根据你的实际网卡名修改,默认ens33)
Bash
# 编辑网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 修改/添加以下配置(重点):
TOML
# 固定网卡名为 eth0(可选,保持默认也可以)
NAME=eth0
DEVICE=eth0
# 开机自启
ONBOOT=yes
# 静态IP/动态IP(二选一,推荐静态)
BOOTPROTO=static
# 静态IP配置(根据你的虚拟机网关修改)
IPADDR=192.168.xxx.xxx
NETMASK=255.255.255.0
GATEWAY=192.168.xxx.2
DNS1=8.8.8.8
- 重命名网卡文件(和配置里的NAME一致)
Bash
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
- 重启网络服务
Bash
systemctl restart network
四、禁用防火墙与SELinux(Docker必备要求)
1. 禁用防火墙
Bash
# 临时关闭防火墙
systemctl stop firewalld
# 永久禁用防火墙(开机不自启)
systemctl disable firewalld
# 查看状态(显示dead即成功)
systemctl status firewalld
2. 禁用SELinux(安全组件,会拦截Docker)
Bash
# 临时关闭
setenforce 0
# 永久关闭(修改配置文件,可以手动设置)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
✅ 验证:执行 getenforce,显示 Disabled 即成功。
五、更改主机名(方便识别虚拟机)
Bash
# 永久修改主机名(自定义名称,比如docker-server)
hostnamectl set-hostname docker-server
# 生效配置
bash
# 验证
hostname
六、更改时区设置(统一为上海时区)
Bash
# 设置时区为亚洲/上海
timedatectl set-timezone Asia/Shanghai
# 验证时间
date
七、添加普通用户并赋予root权限(可选,提升安全性)
默认root用户权限过高,日常操作推荐使用普通用户,以下步骤创建普通用户并赋予root权限(全程命令可直接复制):
- 创建普通用户(自定义用户名,此处以dockeruser为例,可替换为自己想要的名称)
Bash
# 创建用户,dockeruser为用户名,可自定义
useradd dockeruser
# 为该用户设置密码(输入命令后按提示输入密码,密码输入时不显示,输入完成回车即可)
passwd dockeruser
- 赋予该普通用户root权限(无需切换root即可执行高权限命令)
Bash
# 改变文件权限
chmod u+w /etc/sudoers
# 编辑sudo配置文件
vi /etc/sudoers
# 在文件中找到 "root ALL=(ALL) ALL" 这一行,在下方添加如下内容(dockeruser替换为你创建的用户名)
dockeruser ALL=(ALL) ALL
# 保存后,改变文件权限
chmod u-w /etc/sudoers
- 验证权限是否生效
Bash
# 切换到创建的普通用户
su - dockeruser
# 执行高权限命令(测试是否能正常使用sudo)
sudo systemctl status docker
✅ 验证:输入普通用户密码后,能正常显示Docker状态,无报错,即代表权限赋予成功。
⚠️ 注意:用户名可自定义(替换所有dockeruser即可),密码建议设置复杂一些,提升安全性;后续操作可使用该普通用户,执行高权限命令时前缀加sudo即可。