Docker搭建WordPress绑定域名教程(二)

在上一节我们讲解了如何通过Docker快速搭建wordpress,这一节我们介绍下在Docker环境下,有哪些工具和程序可以帮助你轻松绑定域名并管理多个站点。以下是几种常用的解决方案:


1. Nginx Proxy Manager

Nginx Proxy Manager 是一个基于 Nginx 的反向代理管理工具,提供友好的 Web 界面来管理域名绑定、SSL 证书等。

安装步骤

  1. 创建 docker-compose.yml 文件:
    version: '3'
    services:
     app:
       image: 'jc21/nginx-proxy-manager:latest'
       restart: always
       ports:
         - '80:80'
         - '81:81'
         - '443:443'
       volumes:
         - ./data:/data
         - ./letsencrypt:/etc/letsencrypt
  2. 启动容器:
    docker-compose up -d
  3. 访问管理界面:
    • 打开浏览器,访问 http://your-server-ip:81
    • 默认登录信息:
  4. 在管理界面中添加域名和反向代理规则,绑定到你的 WordPress 容器。

2. Traefik

Traefik 是一个现代化的反向代理和负载均衡工具,专为容器化环境设计,支持自动发现 Docker 容器并绑定域名。

安装步骤

  1. 创建 docker-compose.yml 文件:

    version: '3'
    services:
     traefik:
       image: traefik:latest
       command:
         - --api.insecure=true
         - --providers.docker
         - --entrypoints.web.address=:80
       ports:
         - '80:80'
         - '8080:8080'
       volumes:
         - /var/run/docker.sock:/var/run/docker.sock
    
     wordpress:
       image: wordpress:latest
       environment:
         - WORDPRESS_DB_HOST=mysql
         - WORDPRESS_DB_USER=root
         - WORDPRESS_DB_PASSWORD=your_password
       labels:
         - "traefik.http.routers.wordpress.rule=Host(`yourdomain.com`)"
         - "traefik.http.routers.wordpress.entrypoints=web"
  2. 启动容器:
    docker-compose up -d
  3. 访问 Traefik 仪表板:
    • 打开浏览器,访问 http://your-server-ip:8080
  4. 访问 WordPress:
    • 打开浏览器,访问 http://yourdomain.com

3. Caddy

Caddy 是一个易于使用的 Web 服务器,支持自动 HTTPS 和反向代理。

安装步骤

  1. 创建 docker-compose.yml 文件:

    version: '3'
    services:
     caddy:
       image: caddy:latest
       ports:
         - '80:80'
         - '443:443'
       volumes:
         - ./Caddyfile:/etc/caddy/Caddyfile
         - ./caddy_data:/data
    
     wordpress:
       image: wordpress:latest
       environment:
         - WORDPRESS_DB_HOST=mysql
         - WORDPRESS_DB_USER=root
         - WORDPRESS_DB_PASSWORD=your_password
  2. 创建 Caddyfile 文件:
    yourdomain.com {
       reverse_proxy wordpress:80
    }
  3. 启动容器:
    docker-compose up -d
  4. 访问 WordPress:
    • 打开浏览器,访问 https://yourdomain.com(Caddy 会自动配置 HTTPS)。

4. Nginx + Let’s Encrypt(手动配置)

如果你更喜欢手动配置,可以使用 Nginx 和 Let’s Encrypt 结合 Docker 绑定域名。

安装步骤

  1. 创建 docker-compose.yml 文件:

    version: '3'
    services:
     nginx:
       image: nginx:latest
       ports:
         - '80:80'
         - '443:443'
       volumes:
         - ./nginx.conf:/etc/nginx/nginx.conf
         - ./certs:/etc/letsencrypt
    
     wordpress:
       image: wordpress:latest
       environment:
         - WORDPRESS_DB_HOST=mysql
         - WORDPRESS_DB_USER=root
         - WORDPRESS_DB_PASSWORD=your_password
  2. 创建 nginx.conf 文件:

    server {
       listen 80;
       server_name yourdomain.com;
    
       location / {
           proxy_pass http://wordpress:80;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
    }
  3. 启动容器:
    docker-compose up -d
  4. 使用 Certbot 获取 SSL 证书:
    sudo certbot --nginx -d yourdomain.com

总结

  • Nginx Proxy Manager:适合需要 Web 界面管理的用户。
  • Traefik:适合动态容器环境,自动发现服务。
  • Caddy:简单易用,自动 HTTPS。
  • Nginx + Let’s Encrypt:适合需要完全手动配置的用户。

根据你的需求选择合适的工具即可轻松绑定域名。

This entry was posted in 网络相关 and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *