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即可。

相关推荐
@兽血沸腾1 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
闲云自留地6 小时前
K8s 的记忆大脑!ETCD 集群部署、etcdctl 命令与备份恢复全通关
容器·kubernetes·etcd
讯捷蓝达6 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
爱和冰阔落9 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng10 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
Android系统攻城狮10 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹10 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
孙克旭_10 小时前
k8s基础组件与创建资源
运维·docker·容器·kubernetes
孙克旭_11 小时前
云原生基础之Containerd容器运行时
运维·云原生
分布式存储与RustFS11 小时前
RustFS 自建对象存储实战目录:110 篇按场景分类(持续更新)
运维·云原生·开源·对象存储·分布式存储·s3·性能基准