温馨提示×

Linux虚拟机如何进行容器化部署

小樊
65
2025-09-20 19:33:56
栏目: 云计算

Linux虚拟机进行容器化部署的核心流程
容器化部署是将应用及其依赖打包为轻量级容器(如Docker容器),在Linux虚拟机中运行,实现快速部署、隔离和管理。以下是具体步骤:

1. 准备Linux虚拟机环境

首先需要搭建Linux虚拟机(如使用VMware、VirtualBox等工具),并确保虚拟机满足以下要求:

  • 硬件资源:至少分配2核CPU、4GB内存、20GB存储(根据应用需求调整);
  • 网络配置:开启网络适配器(建议设置为NAT或桥接模式,确保能访问外网);
  • 系统更新:运行sudo apt update && sudo apt upgrade -y(Ubuntu/Debian)或sudo yum update -y(CentOS/RHEL)更新系统软件包。

2. 安装容器引擎(以Docker为例)

容器引擎是容器化部署的基础,Docker是最常用的选择。安装步骤如下:

  • 更新软件包索引sudo apt update(Ubuntu/Debian)或sudo yum update -y(CentOS/RHEL);
  • 安装依赖工具sudo apt install -y apt-transport-https ca-certificates curl software-properties-common(Ubuntu/Debian)或sudo yum install -y yum-utils(CentOS/RHEL);
  • 添加Docker官方仓库
    • Ubuntu/Debian:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -,然后sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    • CentOS/RHEL:curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -,然后cat <<EOF | sudo tee /etc/apt/sources.list.d/docker.list,内容为deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable,最后sudo apt update
  • 安装Docker引擎sudo apt install -y docker-ce docker-ce-cli containerd.io(Ubuntu/Debian/CentOS均适用);
  • 启动并设置开机自启sudo systemctl start dockersudo systemctl enable docker
  • 验证安装:运行docker --version,输出Docker版本信息则表示安装成功。

3. 配置Docker用户权限(可选但推荐)

默认情况下,Docker命令需要sudo权限。为简化操作,可将当前用户加入docker组:
sudo usermod -aG docker $USER,然后运行newgrp docker使配置立即生效(无需注销)。

4. 拉取容器镜像

镜像是容器的模板,包含操作系统、运行环境和应用依赖。从Docker Hub(官方镜像仓库)拉取所需镜像,例如拉取Ubuntu 20.04镜像:
docker pull ubuntu:20.04。也可根据需求拉取其他镜像(如Nginx、MySQL、Redis等)。

5. 创建并运行容器

使用docker run命令创建并启动容器,常用参数说明:

  • -d:后台运行容器(守护进程模式);
  • --name:指定容器名称(便于管理);
  • -p:端口映射(格式:宿主机端口:容器端口,如-p 8080:80表示将宿主机的8080端口映射到容器的80端口);
  • -it:以交互模式运行容器(分配伪终端,保持标准输入打开)。

示例:创建一个名为my-ubuntu的容器,基于Ubuntu 20.04镜像,后台运行并映射8080端口:
docker run -d --name my-ubuntu -p 8080:80 ubuntu:20.04

若需进入容器内部(如调试),可使用docker exec -it my-ubuntu /bin/bash命令。

6. 验证容器运行状态

  • 查看容器列表docker ps(显示运行中的容器)或docker ps -a(显示所有容器,包括停止的);
  • 查看容器日志docker logs my-ubuntu(查看my-ubuntu容器的日志输出);
  • 进入容器docker exec -it my-ubuntu /bin/bash(进入my-ubuntu容器的命令行界面);
  • 测试端口映射:在宿主机浏览器访问http://localhost:8080(若容器内运行了Web服务,如Nginx),应能看到对应页面。

7. 管理容器(进阶操作)

  • 停止容器docker stop my-ubuntu(停止my-ubuntu容器);
  • 启动容器docker start my-ubuntu(启动已停止的my-ubuntu容器);
  • 删除容器docker rm my-ubuntu(删除my-ubuntu容器,需先停止);
  • 删除镜像docker rmi ubuntu:20.04(删除ubuntu:20.04镜像,需先删除依赖该镜像的容器)。

可选:使用Kubernetes编排容器(大规模部署)

若需要管理多个容器(如微服务架构),可使用Kubernetes(K8S)进行编排。步骤如下:

  • 在虚拟机上安装Kubeadm、Kubelet、Kubectl(K8S核心工具);
  • 初始化Master节点sudo kubeadm init --pod-network-cidr=192.168.0.0/16(根据网络插件调整CIDR);
  • 加入Worker节点:在Worker虚拟机上运行Master节点输出的kubeadm join命令;
  • 部署应用:使用kubectl create deployment nginx --image=nginx创建Nginx Deployment,使用kubectl expose deployment nginx --port=80 --type=NodePort暴露Service。

通过以上步骤,即可在Linux虚拟机中完成容器化部署,实现应用的轻量级、快速运行和管理。

0