搜索

📄 文章 📚 合集
热门搜索
🐘 PHP ⚡ Laravel 🎨 Vue.js ⚛️ React 📦 Yii 📘 JavaScript 🗄️ MySQL 🐳 Docker
返回合集

[板块7:Docker 容器化交付] - 10 -好站站企业建站引擎 - 宝塔 Docker 部署文档

代码示例
# 好站站企业建站引擎 - 宝塔 Docker 部署文档

## 一、环境要求

| 项目 | 要求 |
|------|------|
| 操作系统 | CentOS 7+ / Ubuntu 18+ / Alibaba Cloud Linux |
| 宝塔面板 | 已安装(建议 7.0+) |
| 域名 | 已解析到服务器 IP |

---

## 二、安装 Docker

1. 登录宝塔面板
2. 点击 **软件商店**
3. 搜索 **Docker**
4. 点击 **一键安装**

安装完成后,Docker 服务自动运行。

---

## 三、配置 Docker 镜像加速(国内用户必做)

### 3.1 打开设置

宝塔面板 → **Docker** → **设置** → **镜像加速**

### 3.2 添加加速地址

点击添加,填入以下地址:

```
https://docker.1ms.run
```

### 3.3 保存

点击 **保存**,Docker 会自动重启。

---

## 四、创建站点

1. 宝塔面板 → **网站** → **添加站点**
2. 填写你的域名(如:`demo.haozhanzhan.com`)
3. PHP 版本选择 **纯静态**
4. 点击 **提交**

---

## 五、上传配置文件

### 5.1 创建 docker 文件夹

1. 点击宝塔 **文件**
2. 进入你的网站根目录(如:`/www/wwwroot/demo.haozhanzhan.com`)
3. 点击 **新建目录**,输入 `docker`

### 5.2 创建 nginx.conf

进入 `docker` 文件夹,点击 **新建文件**,文件名输入 `nginx.conf`,内容如下:

```nginx
server {
    listen 80;
    server_name _;
    root /var/www/html/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}
```

点击 **保存**。

### 5.3 创建 docker-compose.yml

回到网站根目录,点击 **新建文件**,文件名输入 `docker-compose.yml`,内容如下:

```yaml
services:
  nginx:
    image: nginx:alpine
    ports:
      - "8088:80"
    volumes:
      - ./docker/nginx.conf:/etc/nginx/conf.d/default.conf
      - code:/var/www/html
    depends_on:
      - php
    networks:
      - app-network
    restart: unless-stopped

  php:
    image: codeyoursmile/haozhanzhan:latest
    volumes:
      - code:/var/www/html
    networks:
      - app-network
    restart: unless-stopped

  mysql:
    image: mysql:8.0
    container_name: mysql
    restart: always
    environment:
      MYSQL_DATABASE: haozhanzhan
      MYSQL_ROOT_PASSWORD: 123456
    ports:
      - "3307:3306"
    volumes:
      - mysql_data:/var/lib/mysql
    networks:
      - app-network

networks:
  app-network:
    driver: bridge

volumes:
  code:
  mysql_data:
```

点击 **保存**。

---

## 六、拉取镜像并启动

### 6.1 打开终端

宝塔面板 → **终端**

### 6.2 进入网站根目录

```bash
cd /www/wwwroot/你的域名
```

### 6.3 拉取镜像

```bash
docker pull codeyoursmile/haozhanzhan:latest
```

### 6.4 启动容器

```bash
docker-compose up -d
```

### 6.5 查看状态

```bash
docker-compose ps
```

看到三个容器状态都是 **Up** 即成功。

---

## 七、配置反向代理

### 7.1 添加反向代理

1. 宝塔面板 → **网站** → 找到你的站点 → 点击 **设置**
2. 点击 **反向代理** → **添加反向代理**

| 参数 | 值 |
|------|-----|
| 代理名称 | `haozhanzhan` |
| 目标URL | `http://127.0.0.1:8088` |
| 发送域名 | `$host` |

点击 **保存**。

### 7.2 添加自定义 Header

在反向代理页面,找到 **自定义 Header**,点击 **添加**:

| 参数 | 值 |
|------|-----|
| `X-Forwarded-Proto` | `$scheme` |

点击 **保存**。

### 7.3 重载 Nginx

点击宝塔面板右上角的 **重载配置**。

---

## 八、配置 SSL 证书(HTTPS)

1. 站点 **设置** → **SSL**
2. 选择 **Let's Encrypt**
3. 勾选你的域名
4. 点击 **申请**
5. 开启 **强制HTTPS**

---

## 九、安装好站站

访问 `https://你的域名/install.php`

填写数据库信息:

| 字段 | 值 |
|------|-----|
| 数据库主机 | `mysql` |
| 端口 | `3306` |
| 数据库名 | `haozhanzhan` |
| 用户名 | `root` |
| 密码 | `123456` |

填写管理员信息,点击 **开始安装**。

---

## 十、验证

访问 `https://你的域名/admin/login`

输入管理员账号密码登录,后台正常显示 ✅

---

## 十一、目录结构

```
/www/wwwroot/你的域名/
├── docker/
│   └── nginx.conf
└── docker-compose.yml
```

---

## 十二、常用命令

```bash
cd /www/wwwroot/你的域名

# 查看状态
docker-compose ps

# 查看日志
docker-compose logs -f

# 重启
docker-compose restart

# 停止
docker-compose down

# 启动
docker-compose up -d

# 更新
docker pull codeyoursmile/haozhanzhan:latest
docker-compose down
docker-compose up -d
```

---

## 十三、常见问题

**Q:拉取镜像慢?**  
检查镜像加速是否配置正确。

**Q:后台 CSS/JS 404?**  
检查反向代理是否添加了 `X-Forwarded-Proto $scheme`。

**Q:数据库连接失败?**  
数据库主机填写 `mysql`,不是 `127.0.0.1`。

**Q:8088 端口被占用?**  
修改 `docker-compose.yml` 中为 `8089:80`,然后重启。

---

## 十四、联系支持

官网:https://haozhanzhan.com

---

🧸 adorable code

专注 PHP、JavaScript、Laravel、Vue.js、React、Yii 全栈开发。记录技术探索过程中的灵感与经验,分享工程实践洞见。

hello@adorablecode.com