docker-compse安装nginx

发布于:2025-07-07 ⋅ 阅读:(16) ⋅ 点赞:(0)

以下是使用 Docker Compose 安装 Nginx 的详细步骤:

1. 安装 Docker 和 Docker Compose

  • 安装 Docker
    • 卸载旧版本的 Docker(如果已安装):
      sudo apt-get remove docker docker-engine docker.io containerd runc
      sudo rm -rf /var/lib/docker
      sudo rm -rf /var/lib/containerd
      
    • 安装必要的依赖包:
      sudo apt-get update
      sudo apt-get install -y ca-certificates curl gnupg lsb-release
      
    • 添加 Docker 官方 GPG 密钥:
      sudo mkdir -p /etc/apt/keyrings
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
      
    • 设置 Docker 的 APT 源:
      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
        $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      
    • 安装 Docker Engine:
      sudo apt-get update
      sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin
      
    • 启动 Docker 并设置开机自启:
      sudo systemctl enable --now docker
      
    • 验证 Docker 是否安装成功:
      sudo docker run hello-world
      
      如果看到 Hello from Docker!,则说明安装成功。
  • 安装 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
      
    • 或者使用 APT 安装(版本可能较旧):
      sudo apt-get install -y docker-compose-plugin
      
    • 验证 Docker Compose 是否安装成功:
      docker-compose --version
      
      或者(如果使用 APT 安装):
      docker compose version
      

2. 创建项目目录和配置文件

  • 创建一个目录用于存放 Nginx 的配置文件和网页内容:
    mkdir -p ~/nginx/{config/{conf.d,cert},html,logs}
    
  • 创建 docker-compose.yml 文件:
    services:
      nginx:
        image: nginx:1.26
        container_name: nginx
        restart: unless-stopped
        ports:
        - "80:80"
        - "443:443"
        volumes:
        - ./nginx/config/nginx.conf:/etc/nginx/nginx.conf
        - ./nginx/config/conf.d:/etc/nginx/conf.d
        - ./nginx/config/cert:/etc/nginx/cert
        - ./nginx/logs:/var/log/nginx
        - ./nginx/html:/usr/share/nginx/html
    
  • 创建 Nginx 配置文件 nginx.conf
# 全局块
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

# events 块
events {
   worker_connections 1024;  # 每个工作进程的最大连接数
   use epoll;                # 使用的事件驱动模型(epoll 是 Linux 下的高性能模型)
   multi_accept on;          # 是否允许一个进程同时接受多个连接
}

# http 块
http {
   include /etc/nginx/mime.types;
   default_type application/octet-stream;
   sendfile on;
   tcp_nopush on;
   tcp_nodelay on;
   keepalive_timeout 65;
   gzip on;

   include /etc/nginx/conf.d/*.conf;

   server {
       listen 80;
       server_name example.com;

       root /usr/share/nginx/html/example.com;
       index index.html;

       location / {
           try_files $uri $uri/ =404;
       }
   }
}
  • 创建一个简单的网页文件 index.html
  <html>
  <body>
      <h1>Welcome to Nginx on Docker!</h1>
  </body>
  </html>

3. 启动 Nginx 容器

  • docker-compose.yml 文件所在的目录下运行以下命令启动 Nginx 容器:
    docker-compose up -d
    
    这将根据 docker-compose.yml 文件中的配置启动 Nginx 容器,并将其置于后台运行。

4. 验证和访问

  • 打开浏览器,访问 http://localhost,如果看到欢迎页面,则说明 Nginx 已成功运行。
  • 如果需要查看容器的日志,可以运行以下命令:
    docker-compose logs nginx
    

5. 停止和卸载

  • 停止并移除 Nginx 容器:
    docker-compose down
    

通过以上步骤,你可以使用 Docker Compose 快速搭建一个 Nginx 服务。


网站公告

今日签到

点亮在社区的每一天
去签到