插件窝 干货文章 如何在Linux上部署容器化应用

如何在Linux上部署容器化应用

Docker 容器 sudo bash 344    来源:    2025-04-15

在Linux上部署容器化应用通常涉及使用Docker或Podman等容器引擎,以及可能的编排工具如Kubernetes。以下是详细步骤和注意事项:


一、基础环境准备

  1. 安装Docker引擎(最常用方案):

    # Ubuntu/Debian
    sudo apt update
    sudo apt install docker.io
    sudo systemctl enable --now docker
    
    # CentOS/RHEL
    sudo yum install docker
    sudo systemctl enable --now docker
    
  2. 验证安装

    sudo docker run hello-world
    

    若看到欢迎信息,说明Docker已正常工作。

  3. (可选)安装Podman(无守护进程替代方案):

    # Ubuntu
    sudo apt install podman
    
    # CentOS
    sudo yum install podman
    

二、部署容器化应用

方法1:直接使用Docker运行

  1. 拉取镜像(以Nginx为例):

    sudo docker pull nginx:latest
    
  2. 运行容器

    sudo docker run -d --name my-nginx -p 8080:80 nginx
    
    • -d:后台运行
    • --name:指定容器名称
    • -p 8080:80:将主机8080端口映射到容器的80端口
  3. 验证访问

    curl http://localhost:8080
    

    或通过浏览器访问服务器IP的8080端口。


方法2:使用Docker Compose(多容器编排)

  1. 安装Docker Compose

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

    version: '3'
    services:
     db:
       image: mysql:5.7
       environment:
         MYSQL_ROOT_PASSWORD: example
     wordpress:
       image: wordpress:latest
       ports:
         - "8000:80"
       depends_on:
         - db
    
  3. 启动服务

    sudo docker-compose up -d
    

    访问http://服务器IP:8000完成WordPress安装。


三、进阶:Kubernetes部署(生产环境推荐)

  1. 安装Minikube(本地测试)或kubeadm(生产集群)

    # Minikube(单节点)
    curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
    sudo install minikube-linux-amd64 /usr/local/bin/minikube
    minikube start
    
  2. 部署应用

    kubectl create deployment my-app --image=nginx
    kubectl expose deployment my-app --port=80 --type=NodePort
    
  3. 访问服务

    minikube service my-app
    

四、关键注意事项

  1. 安全性

    • 避免容器以root权限运行:使用--user参数。
    • 定期更新镜像:docker pull 镜像名:latest
  2. 数据持久化

    docker run -v /host/path:/container/path ...
    

    或使用Docker Volume。

  3. 日志管理

    docker logs -f 容器名
    
  4. 资源限制

    docker run -m 512m --cpus 1 ...
    

五、常见问题排查

  • 端口冲突
    使用netstat -tulnp | grep 端口号检查占用情况。
  • 容器启动失败
    通过docker logs 容器ID查看错误日志。
  • 镜像拉取慢
    配置国内镜像源(如阿里云Docker镜像加速器)。

通过以上步骤,您可以在Linux上高效部署容器化应用。对于生产环境,建议结合CI/CD管道和监控工具(如Prometheus+Grafana)实现自动化管理。