Linux下VPS云服务器容器化部署实战指南
文章分类:更新公告 /
创建时间:2026-01-10
在数字化转型加速的今天,VPS云服务器凭借弹性扩展、资源独立的特性,成为企业与开发者部署应用的核心载体。而Linux系统以开源稳定、高度可定制的优势,与VPS云服务器形成黄金组合。为何要在Linux下的VPS云服务器做容器化部署?简单来说,容器能将应用及其依赖“打包”,确保不同环境下运行一致,既提升部署效率,又节省服务器资源。接下来带你一步步完成容器化部署全流程。
首先需要一台运行Linux系统的VPS云服务器,Ubuntu、CentOS等主流发行版均可(本文以Ubuntu 22.04为例)。为保障基础安全,建议先更新系统包:
```bash
sudo apt update && sudo apt upgrade -y
```
接下来安装Docker——目前最主流的容器化平台(用于创建、部署和运行容器的开源工具)。通过官方仓库安装更安全,执行命令:
```bash
sudo apt install docker.io -y
```
安装完成后启动服务并设置开机自启:
```bash
sudo systemctl start docker
sudo systemctl enable docker
```
可通过`docker --version`验证安装是否成功,显示版本信息即说明配置完成。
容器镜像相当于应用的“可执行安装包”,包含运行所需的代码、依赖和配置。以Python Flask应用为例,通过编写Dockerfile定义镜像构建规则:
创建名为Dockerfile的文件,内容如下:
```Dockerfile
# 基于轻量Python镜像减少体积
FROM python:3.9-slim
# 设置工作目录并复制代码
WORKDIR /app
COPY . /app
# 安装依赖(--no-cache-dir避免冗余缓存)
RUN pip install --no-cache-dir -r requirements.txt
# 暴露应用端口(仅开放必要端口提升安全性)
EXPOSE 5000
# 以非root用户运行(降低容器权限风险)
USER nobody
# 启动命令
CMD ["python", "app.py"]
```
在项目根目录执行构建命令:
```bash
docker build -t flask-app:v1 .
```
`flask-app:v1`是镜像名称(可自定义),`.`表示使用当前目录的Dockerfile。
镜像构建完成后,用以下命令启动容器:
```bash
docker run -d -p 5000:5000 --name my-flask-container flask-app:v1
```
`-d`表示后台运行,`-p 5000:5000`将容器5000端口映射到服务器5000端口,`--name`为容器命名。此时访问服务器公网IP:5000即可访问应用。
部署后需定期检查容器状态,常用命令包括:
- 查看运行中容器:`docker ps`(加`-a`可查看所有容器)
- 查看容器日志:`docker logs my-flask-container`(排查问题关键)
- 停止容器:`docker stop my-flask-container`
- 删除容器:`docker rm my-flask-container`(停止后操作)
若应用涉及多个服务(如Web服务+数据库),Docker Compose能简化多容器管理。首先安装Compose:
```bash
sudo apt install docker-compose -y
```
创建`docker-compose.yml`文件定义服务关系,示例:
```yaml
version: '3'
services:
web:
build: . # 使用当前目录的Dockerfile构建镜像
ports:
- "5000:5000"
redis:
image: redis:alpine # 直接使用Redis官方镜像
volumes:
- redis-data:/data # 数据持久化(避免容器删除后数据丢失)
volumes:
redis-data: # 定义持久化卷
```
执行`docker-compose up -d`即可一键启动所有服务,`-d`表示后台运行。如需停止并清理,使用`docker-compose down`命令。
通过上述步骤,你已掌握在Linux下VPS云服务器完成容器化部署的核心技能。从单容器运行到多服务编排,容器化技术不仅让应用部署更高效,也通过镜像的标准化降低了环境差异导致的故障风险。合理利用VPS云服务器的弹性资源与容器的轻量特性,能为应用的稳定运行与快速迭代提供坚实支撑。
前置准备:环境与工具搭建
首先需要一台运行Linux系统的VPS云服务器,Ubuntu、CentOS等主流发行版均可(本文以Ubuntu 22.04为例)。为保障基础安全,建议先更新系统包:
```bash
sudo apt update && sudo apt upgrade -y
```
接下来安装Docker——目前最主流的容器化平台(用于创建、部署和运行容器的开源工具)。通过官方仓库安装更安全,执行命令:
```bash
sudo apt install docker.io -y
```
安装完成后启动服务并设置开机自启:
```bash
sudo systemctl start docker
sudo systemctl enable docker
```
可通过`docker --version`验证安装是否成功,显示版本信息即说明配置完成。
核心步骤:从镜像构建到容器运行
容器镜像相当于应用的“可执行安装包”,包含运行所需的代码、依赖和配置。以Python Flask应用为例,通过编写Dockerfile定义镜像构建规则:
创建名为Dockerfile的文件,内容如下:
```Dockerfile
# 基于轻量Python镜像减少体积
FROM python:3.9-slim
# 设置工作目录并复制代码
WORKDIR /app
COPY . /app
# 安装依赖(--no-cache-dir避免冗余缓存)
RUN pip install --no-cache-dir -r requirements.txt
# 暴露应用端口(仅开放必要端口提升安全性)
EXPOSE 5000
# 以非root用户运行(降低容器权限风险)
USER nobody
# 启动命令
CMD ["python", "app.py"]
```
在项目根目录执行构建命令:
```bash
docker build -t flask-app:v1 .
```
`flask-app:v1`是镜像名称(可自定义),`.`表示使用当前目录的Dockerfile。
镜像构建完成后,用以下命令启动容器:
```bash
docker run -d -p 5000:5000 --name my-flask-container flask-app:v1
```
`-d`表示后台运行,`-p 5000:5000`将容器5000端口映射到服务器5000端口,`--name`为容器命名。此时访问服务器公网IP:5000即可访问应用。
日常管理:容器状态与维护
部署后需定期检查容器状态,常用命令包括:
- 查看运行中容器:`docker ps`(加`-a`可查看所有容器)
- 查看容器日志:`docker logs my-flask-container`(排查问题关键)
- 停止容器:`docker stop my-flask-container`
- 删除容器:`docker rm my-flask-container`(停止后操作)
进阶操作:多服务编排与Docker Compose
若应用涉及多个服务(如Web服务+数据库),Docker Compose能简化多容器管理。首先安装Compose:
```bash
sudo apt install docker-compose -y
```
创建`docker-compose.yml`文件定义服务关系,示例:
```yaml
version: '3'
services:
web:
build: . # 使用当前目录的Dockerfile构建镜像
ports:
- "5000:5000"
redis:
image: redis:alpine # 直接使用Redis官方镜像
volumes:
- redis-data:/data # 数据持久化(避免容器删除后数据丢失)
volumes:
redis-data: # 定义持久化卷
```
执行`docker-compose up -d`即可一键启动所有服务,`-d`表示后台运行。如需停止并清理,使用`docker-compose down`命令。
通过上述步骤,你已掌握在Linux下VPS云服务器完成容器化部署的核心技能。从单容器运行到多服务编排,容器化技术不仅让应用部署更高效,也通过镜像的标准化降低了环境差异导致的故障风险。合理利用VPS云服务器的弹性资源与容器的轻量特性,能为应用的稳定运行与快速迭代提供坚实支撑。
工信部备案:粤ICP备18132883号-2