1-Docker Engine 安装前置环境配置

一、前置准备:创建虚拟机(VMware/VirtualBox)

这一步是硬件基础,以常用的 VMware Workstation 为例:

  1. 打开VMware → 新建虚拟机 → 选择「典型」→ 下一步

  2. 选择 CentOS 7/8 镜像文件(推荐CentOS 7,稳定兼容)

  3. 设置虚拟机名称、存储位置 → 分配CPU(2核)、内存(2G及以上)、硬盘(20G+)

  4. 完成创建,启动虚拟机开始安装系统


二、在虚拟机中安装CentOS操作系统

  1. 启动虚拟机后,选择 Install CentOS 7

  2. 语言选择中文 → 继续

  3. 关键配置:

    • 安装位置:自动分区即可

    • 网络和主机名:打开以太网(确保能联网)

  4. 设置root密码 → 等待安装完成 → 重启虚拟机


三、修改网络配置名(固定网卡名,避免混乱)

CentOS默认网卡名可能是 ens33 等,我们统一修改为标准格式:

  1. 编辑网卡配置文件(根据你的实际网卡名修改,默认ens33)
Bash 复制代码
# 编辑网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
  1. 修改/添加以下配置(重点):
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
  1. 重命名网卡文件(和配置里的NAME一致)
Bash 复制代码
mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0
  1. 重启网络服务
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权限(全程命令可直接复制):

  1. 创建普通用户(自定义用户名,此处以dockeruser为例,可替换为自己想要的名称)
Bash 复制代码
# 创建用户,dockeruser为用户名,可自定义
useradd dockeruser
# 为该用户设置密码(输入命令后按提示输入密码,密码输入时不显示,输入完成回车即可)
passwd dockeruser
  1. 赋予该普通用户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
  1. 验证权限是否生效
Bash 复制代码
# 切换到创建的普通用户
su - dockeruser
# 执行高权限命令(测试是否能正常使用sudo)
sudo systemctl status docker

✅ 验证:输入普通用户密码后,能正常显示Docker状态,无报错,即代表权限赋予成功。

⚠️ 注意:用户名可自定义(替换所有dockeruser即可),密码建议设置复杂一些,提升安全性;后续操作可使用该普通用户,执行高权限命令时前缀加sudo即可。

相关推荐
虎头金猫6 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS6 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
AI职业加油站6 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏6 天前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
玉&心6 天前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing6 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
-梅6 天前
linux(8) 软硬链接
linux·运维·服务器
赵文宇(温玉)6 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang6 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren6 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github