在 CentOS 虚拟机中应用容器技术的实用指南
一 适用场景与架构选择
二 快速落地步骤
sudo yum update && sudo yum install -y yum-utils device-mapper-persistent-data lvm2。如使用虚拟机,建议为虚拟机分配至少 2–4 核 CPU、4–8GB 内存、20GB+ 磁盘,并开启虚拟化引擎。sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo,随后 sudo yum install -y docker-ce docker-ce-cli containerd.io;启动并设置开机自启:sudo systemctl start docker && sudo systemctl enable docker;验证:docker version、docker run hello-world。/etc/docker/daemon.json:
{
“storage-driver”: “overlay2”,
“log-driver”: “json-file”,
“log-opts”: { “max-size”: “100m”, “max-file”: “3” }
}
重启 Docker:sudo systemctl restart docker。如需使用镜像加速器,可在同一配置中加入 "registry-mirrors": ["https://<你的加速器地址>"] 并重启。docker run -d --name web -p 8080:80 nginx,在宿主机浏览器访问 http://<虚拟机IP>:8080 验证。三 编排与多容器应用
sudo yum install -y docker-compose-plugin 或使用已发布的可执行文件软链到 /usr/bin/docker-compose。docker-compose.yml(注意将数据库密码替换为强口令):
version: “3.8”
services:
web:
image: nginx:alpine
ports:
- “8080:80”
volumes:
- ./html:/usr/share/nginx/html:ro
db:
image: mariadb:10.11
environment:
MYSQL_ROOT_PASSWORD: StrongPassw0rd!
MYSQL_DATABASE: appdb
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:docker compose up -d,docker compose ps,docker compose logs -f web,docker compose down。该方式便于在单机上编排前端、后端、数据库等多容器应用,提升交付一致性与可维护性。四 性能与安全最佳实践
docker run -d --name app --memory="1g" --cpus="1.5" nginx,防止单容器耗尽资源。max-size、max-file),定期清理无用数据:docker system prune -af --volumes,避免磁盘被历史镜像、停止容器和无用卷占满。docker network create --driver bridge app_net,并在 Compose 中使用该网络。