2026最新Docker部署AI应用完整教程:从零开始搭建AI服务

为什么用Docker部署AI应用?

Docker已经成为部署AI应用的首选方案。相比传统部署方式,Docker有以下优势:

  • 环境隔离:每个应用独立运行,互不影响
  • 一键部署:通过Docker Compose可以一键启动所有服务
  • 易于维护:升级和回滚都非常方便
  • 资源可控:可以限制CPU和内存使用

准备工作

在开始之前,你需要准备:

  1. 服务器:推荐2核4G以上配置,Ubuntu 22.04或CentOS 8+
  2. Docker:安装Docker和Docker Compose
  3. 域名:如果有域名更好,没有也可以用IP访问
  4. 基础知识:基本的Linux命令操作

第一步:安装Docker

如果你的服务器还没有安装Docker,可以使用以下命令:

# Ubuntu/Debian
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

# 启动Docker
sudo systemctl start docker
sudo systemctl enable docker

# 验证安装
docker --version

执行成功后会显示Docker版本信息,表示安装完成。

第二步:编写Dockerfile

创建一个Dockerfile来定义你的AI应用镜像:

FROM python:3.11-slim

WORKDIR /app

# 安装依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 复制应用代码
COPY . .

# 暴露端口
EXPOSE 8000

# 启动命令
CMD ["python", "app.py"]

这个Dockerfile会创建一个Python 3.11环境,安装依赖并运行你的AI应用。

第三步:编写Docker Compose

创建docker-compose.yml文件来管理多个服务:

version: '3.8'

services:
  ai-app:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - ./data:/app/data
    environment:
      - API_KEY=your_api_key_here
    restart: unless-stopped
    
  redis:
    image: redis:7-alpine
    ports:
      - "6379:6379"
    volumes:
      - redis-data:/data
    restart: unless-stopped

volumes:
  redis-data:

这个配置定义了两个服务:AI应用和Redis缓存。

第四步:构建和启动

# 构建镜像
docker-compose build

# 启动服务
docker-compose up -d

# 查看运行状态
docker-compose ps

# 查看日志
docker-compose logs -f ai-app

执行docker-compose up -d后,服务会在后台运行。使用docker-compose ps可以查看运行状态。

第五步:配置反向代理

为了让外部可以访问你的AI应用,建议配置Nginx反向代理:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

配置完成后,重启Nginx即可通过域名访问你的AI应用。

常见问题

1. 端口被占用怎么办?

修改docker-compose.yml中的端口映射,比如改为”8001:8000″。

2. 如何更新应用?

docker-compose down
docker-compose build
docker-compose up -d

3. 如何备份数据?

数据卷在./data目录下,直接备份这个目录即可。

4. 内存不足怎么办?

可以在docker-compose.yml中添加内存限制:

services:
  ai-app:
    mem_limit: 2g

简评

Docker部署AI应用是目前最推荐的方式,它解决了环境依赖、版本冲突等常见问题。如果你是新手,建议先从简单的应用开始,熟悉Docker的基本操作后再尝试复杂的多服务部署。

来源:Docker官方文档Docker Compose文档

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容