Loading... # 使用 Docker Compose 搭建 PrivateBin(Markdown 整理版) 本文将介绍如何使用 Docker + Docker Compose 搭建一个可用的 PrivateBin 服务,并提供完整的配置文件示例。 --- ## 目录 1. 简介 2. 环境准备 3. 文件结构 4. Dockerfile 5. docker-compose.yml 6. Nginx 配置 7. 运行步骤 8. 常见问题 --- ## 1. 简介 PrivateBin 是一款开源的加密分享工具,支持前端加密、阅后自毁、密码保护等功能。 使用 Docker Compose 能快速搭建一个可扩展、独立的服务环境。 * 站点:[链接](https://github.com/PrivateBin/PrivateBin) --- ## 2. 环境准备 确保已安装: ``` docker --version docker compose version ``` --- ## 3. 文件结构 ``` privatebin/ │── docker-compose.yml │── Dockerfile │── nginx.conf │── data/ # 存储 PrivateBin 数据 │── src/ # PrivateBin 原项目文件 ``` 请先拉取 PrivateBin 源码(任意来源): ``` git clone https://github.com/PrivateBin/PrivateBin.git src ``` --- ## 4. Dockerfile 创建 `Dockerfile`: ``` FROM php:8.1-fpm-alpine RUN apk add --no-cache git zip unzip libpng-dev \ && docker-php-ext-install gd COPY --from=composer:latest /usr/bin/composer /usr/bin/composer WORKDIR /app COPY . . RUN composer install --no-dev --optimize-autoloader EXPOSE 9000 CMD ["php-fpm"] ``` --- ## 5. docker-compose.yml 创建 `docker-compose.yml`: ``` version: "3.8" services: php-fpm: build: . volumes: - ./src:/app - ./data:/app/data networks: - privatebin-net nginx: image: nginx:alpine ports: - "8080:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf - ./src:/app depends_on: - php-fpm networks: - privatebin-net networks: privatebin-net: driver: bridge ``` --- ## 6. Nginx 配置 创建 `nginx.conf`: ``` server { listen 80; server_name localhost; root /app; index index.php; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass php-fpm:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf)$ { expires 1y; add_header Cache-Control "public, max-age=31536000"; } } ``` --- ## 7. 运行步骤 ### ① 创建数据目录 ``` mkdir -p data chmod 777 data ``` ### ② 构建并启动 ``` docker compose up -d ``` ### ③ 查看容器状态 ``` docker compose ps ``` ### ④ 访问服务 浏览器访问: ``` http://localhost:8080 ``` 即可使用 PrivateBin。 --- ## 8. 常见问题 ### ❗ PHP 无法写入 data 目录 错误日志中可能出现: ``` Permission denied ``` 请执行: ``` sudo chown -R 82:82 data/ ``` ### ❗ 端口被占用 修改: ``` ports: - "9090:80" ``` ### ❗ composer install 失败 执行: ``` docker compose run --rm php-fpm composer install ``` --- 还可以继续优化: ✔ 提供 **生产环境版** 的 PrivateBin Compose(含 HTTPS / 自动证书 / 定时备份) ✔ 提供 **一键安装脚本** ✔ 提供 **反向代理(宝塔 / Caddy / Nginx)配置** 最后修改:2025 年 11 月 26 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏