插件窝 干货文章 如何在Linux上快速部署容器化的Web应用?

如何在Linux上快速部署容器化的Web应用?

Docker Compose 容器 nginx 228    来源:    2025-04-14

在Linux上快速部署容器化Web应用的指南

主要步骤概述

  1. 准备环境

    • 安装Docker: sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
    • 验证安装: sudo docker run hello-world
  2. 获取或创建Web应用镜像

    • 使用现有镜像: docker pull nginx (示例)
    • 或通过Dockerfile构建: dockerfile FROM nginx:alpine COPY ./web-content /usr/share/nginx/html EXPOSE 80
  3. 运行容器

    docker run -d --name my-webapp -p 8080:80 -v /path/to/local/files:/usr/share/nginx/html nginx
    

详细部署方案

方案一:使用Docker Compose (推荐)

  1. 安装Docker Compose:

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
  2. 创建docker-compose.yml:

    version: '3'
    services:
     web:
       image: nginx:alpine
       ports:
         - "8080:80"
       volumes:
         - ./web-content:/usr/share/nginx/html
       restart: unless-stopped
    
  3. 启动服务:

    docker-compose up -d
    

方案二:使用Podman (无root运行)

  1. 安装Podman:

    sudo apt-get install podman
    
  2. 运行容器:

    podman run -d --name webapp -p 8080:80 docker.io/library/nginx
    

高级配置选项

  • 持久化数据:使用命名卷或绑定挂载
  • 网络配置:创建自定义网络提高安全性
  • 日志管理:配置日志驱动和日志轮转
  • 监控:集成Prometheus或cAdvisor

验证部署

curl http://localhost:8080

或直接在浏览器访问服务器IP和端口(如http://your-server-ip:8080)

维护命令

  • 查看运行容器: docker ps
  • 查看日志: docker logs -f my-webapp
  • 停止容器: docker stop my-webapp
  • 更新容器: 修改配置后重新部署

需要针对特定Web应用框架(如Node.js, Python Flask等)的详细配置,可以提供更多信息我可以给出更具体的建议。