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

相关推荐
AOwhisky6 分钟前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
Zhao_yani1 小时前
k8s基础知识
云原生·容器·kubernetes
XTIOT6661 小时前
CRPT 诚实标识采集落地技术实践:分工况硬件选型与合规数据标准化解决方案
大数据·运维·人工智能·嵌入式硬件·物联网
想你依然心痛2 小时前
嵌入式容器:Docker与BalenaOS在边缘设备上的实践——容器运行时与OTA
运维·docker·容器
zx78542 小时前
Kubernetes 生产级实战:从零部署 LNMP 架构 ECShop 商城(完整指南)
容器·架构·kubernetes
竣达技术2 小时前
NAS / 服务器断电数据丢失?UPS 配套 USB关机保护板,市电断电池低自动提示服务器/电脑关机
运维·服务器·电脑
Lottie20262 小时前
京东电商进阶运营:精准定价+安全铺货+竞品监控+利润管控全自动化方案
运维·安全·自动化
章老师说2 小时前
NGINX官方谈Lua风险:这其实是两条网关技术路线之争
运维·nginx·负载均衡·lua·openresty
不瘦80斤不改名2 小时前
HalfCart:基于LBS的1\.5km本地拼单系统全栈实践与踩坑复盘
python·docker·typescript·pycharm
wbs_scy3 小时前
仿 muduo 高并发服务器项目:实现 Any 通用容器并理解 std::any
运维·服务器