1. 服务器环境准备与初始化
在开始部署Docker之前,我们需要先对服务器进行基础配置。根据我的经验,腾讯云服务器主要分为CVM和轻量应用服务器两种类型,它们在性能和扩展性上有显著差异。
1.1 服务器类型选择
CVM(云服务器)适合生产环境使用,支持自定义配置和性能扩展。而轻量应用服务器虽然价格更便宜,但只能续费不能升级配置,更适合开发测试环境。我强烈建议生产环境选择CVM,特别是需要运行多个Docker容器的情况。
1.2 硬盘分区与挂载
生产环境通常需要额外挂载数据盘,以下是我多年实践总结的自动化脚本,可以安全地完成新硬盘的分区、格式化和挂载:
bash复制#!/bin/bash
# 功能:自动化配置新硬盘,将常用大文件目录挂载到新硬盘
# 适用系统:CentOS/TencentOS/RHEL/Ubuntu
# ====================== 配置项 ======================
NEW_DISK="/dev/vdb" # 新硬盘设备名(通过lsblk查看)
MOUNT_DIRS=("/data" "/opt" "/var/lib/docker" "/var/lib/mysql")
FS_TYPE="ext4" # 推荐ext4,稳定性好
# ===================================================
# 检查是否为root用户
if [ $UID -ne 0 ]; then
echo "请使用root用户运行此脚本!" >&2
exit 1
fi
# 检查新硬盘是否存在
if [ ! -b "$NEW_DISK" ]; then
echo "错误:硬盘 $NEW_DISK 不存在!" >&2
lsblk
exit 1
fi
# 1. 分区处理
if ! blkid "$NEW_DISK"1; then
echo "正在创建分区..."
parted -s "$NEW_DISK" mklabel gpt
parted -s "$NEW_DISK" mkpart primary 0% 100%
partprobe "$NEW_DISK"
sleep 3
fi
# 2. 格式化分区
PARTITION="${NEW_DISK}1"
if ! blkid "$PARTITION" | grep -q "$FS_TYPE"; then
echo "正在格式化分区..."
mkfs -t "$FS_TYPE" -f "$PARTITION"
fi
# 3. 挂载处理
for dir in "${MOUNT_DIRS[@]}"; do
mkdir -p "$dir"
if ! grep -q "$PARTITION.*$dir" /etc/fstab; then
UUID=$(blkid -s UUID -o value "$PARTITION")
echo "UUID=$UUID $dir $FS_TYPE defa
